forked from MapComplete/MapComplete
		
	UX/Studio: improvements to UX, introduce 'expert' mode
This commit is contained in:
		
							parent
							
								
									8a9650c737
								
							
						
					
					
						commit
						906fa1b1db
					
				
					 245 changed files with 3814 additions and 3950 deletions
				
			
		| 
						 | 
					@ -95,6 +95,7 @@
 | 
				
			||||||
  - animal_shelter
 | 
					  - animal_shelter
 | 
				
			||||||
  - artwork
 | 
					  - artwork
 | 
				
			||||||
  - atm
 | 
					  - atm
 | 
				
			||||||
 | 
					  - bank
 | 
				
			||||||
  - barrier
 | 
					  - barrier
 | 
				
			||||||
  - bench
 | 
					  - bench
 | 
				
			||||||
  - bench_at_pt
 | 
					  - bench_at_pt
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,26 +24,20 @@
 | 
				
			||||||
1. [gps_track](#gps_track)
 | 
					1. [gps_track](#gps_track)
 | 
				
			||||||
  - [Basic tags for this layer](#basic-tags-for-this-layer)
 | 
					  - [Basic tags for this layer](#basic-tags-for-this-layer)
 | 
				
			||||||
  - [Supported attributes](#supported-attributes)
 | 
					  - [Supported attributes](#supported-attributes)
 | 
				
			||||||
    + [just_created](#just_created)
 | 
					 | 
				
			||||||
    + [Privacy notice](#privacy-notice)
 | 
					    + [Privacy notice](#privacy-notice)
 | 
				
			||||||
    + [export_as_gpx](#export_as_gpx)
 | 
					    + [export_as_gpx](#export_as_gpx)
 | 
				
			||||||
    + [export_as_geojson](#export_as_geojson)
 | 
					    + [export_as_geojson](#export_as_geojson)
 | 
				
			||||||
    + [upload_to_osm](#upload_to_osm)
 | 
					    + [upload_to_osm](#upload_to_osm)
 | 
				
			||||||
    + [minimap](#minimap)
 | 
					    + [minimap](#minimap)
 | 
				
			||||||
    + [delete](#delete)
 | 
					    + [delete](#delete)
 | 
				
			||||||
    + [leftover-questions](#leftover-questions)
 | 
					 | 
				
			||||||
    + [all-tags](#all-tags)
 | 
					 | 
				
			||||||
1. [range](#range)
 | 
					1. [range](#range)
 | 
				
			||||||
  - [Basic tags for this layer](#basic-tags-for-this-layer)
 | 
					  - [Basic tags for this layer](#basic-tags-for-this-layer)
 | 
				
			||||||
  - [Supported attributes](#supported-attributes)
 | 
					  - [Supported attributes](#supported-attributes)
 | 
				
			||||||
1. [last_click](#last_click)
 | 
					1. [last_click](#last_click)
 | 
				
			||||||
  - [Basic tags for this layer](#basic-tags-for-this-layer)
 | 
					  - [Basic tags for this layer](#basic-tags-for-this-layer)
 | 
				
			||||||
  - [Supported attributes](#supported-attributes)
 | 
					  - [Supported attributes](#supported-attributes)
 | 
				
			||||||
    + [just_created](#just_created)
 | 
					 | 
				
			||||||
    + [add_new](#add_new)
 | 
					    + [add_new](#add_new)
 | 
				
			||||||
    + [add_note](#add_note)
 | 
					    + [add_note](#add_note)
 | 
				
			||||||
    + [leftover-questions](#leftover-questions)
 | 
					 | 
				
			||||||
    + [all-tags](#all-tags)
 | 
					 | 
				
			||||||
      * [Filters](#filters)
 | 
					      * [Filters](#filters)
 | 
				
			||||||
1. [conflation](#conflation)
 | 
					1. [conflation](#conflation)
 | 
				
			||||||
  - [Basic tags for this layer](#basic-tags-for-this-layer)
 | 
					  - [Basic tags for this layer](#basic-tags-for-this-layer)
 | 
				
			||||||
| 
						 | 
					@ -58,19 +52,13 @@
 | 
				
			||||||
      * [Themes using this layer](#themes-using-this-layer)
 | 
					      * [Themes using this layer](#themes-using-this-layer)
 | 
				
			||||||
  - [Basic tags for this layer](#basic-tags-for-this-layer)
 | 
					  - [Basic tags for this layer](#basic-tags-for-this-layer)
 | 
				
			||||||
  - [Supported attributes](#supported-attributes)
 | 
					  - [Supported attributes](#supported-attributes)
 | 
				
			||||||
    + [just_created](#just_created)
 | 
					 | 
				
			||||||
    + [leftover-questions](#leftover-questions)
 | 
					 | 
				
			||||||
    + [all-tags](#all-tags)
 | 
					 | 
				
			||||||
1. [import_candidate](#import_candidate)
 | 
					1. [import_candidate](#import_candidate)
 | 
				
			||||||
  - [Basic tags for this layer](#basic-tags-for-this-layer)
 | 
					  - [Basic tags for this layer](#basic-tags-for-this-layer)
 | 
				
			||||||
  - [Supported attributes](#supported-attributes)
 | 
					  - [Supported attributes](#supported-attributes)
 | 
				
			||||||
    + [just_created](#just_created)
 | 
					 | 
				
			||||||
    + [all_tags](#all_tags)
 | 
					    + [all_tags](#all_tags)
 | 
				
			||||||
    + [leftover-questions](#leftover-questions)
 | 
					 | 
				
			||||||
1. [usersettings](#usersettings)
 | 
					1. [usersettings](#usersettings)
 | 
				
			||||||
  - [Basic tags for this layer](#basic-tags-for-this-layer)
 | 
					  - [Basic tags for this layer](#basic-tags-for-this-layer)
 | 
				
			||||||
  - [Supported attributes](#supported-attributes)
 | 
					  - [Supported attributes](#supported-attributes)
 | 
				
			||||||
    + [just_created](#just_created)
 | 
					 | 
				
			||||||
    + [profile](#profile)
 | 
					    + [profile](#profile)
 | 
				
			||||||
    + [language_picker](#language_picker)
 | 
					    + [language_picker](#language_picker)
 | 
				
			||||||
    + [inbox](#inbox)
 | 
					    + [inbox](#inbox)
 | 
				
			||||||
| 
						 | 
					@ -95,7 +83,6 @@
 | 
				
			||||||
    + [contributor-thanks](#contributor-thanks)
 | 
					    + [contributor-thanks](#contributor-thanks)
 | 
				
			||||||
    + [show_debug](#show_debug)
 | 
					    + [show_debug](#show_debug)
 | 
				
			||||||
    + [debug](#debug)
 | 
					    + [debug](#debug)
 | 
				
			||||||
    + [leftover-questions](#leftover-questions)
 | 
					 | 
				
			||||||
1. [Normal layers](#normal-layers)
 | 
					1. [Normal layers](#normal-layers)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -343,36 +330,6 @@ Elements must have the all of following tags to be shown on this layer:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Warning: 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
this quick overview is incomplete
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
attribute | type | values which are supported by this layer
 | 
					 | 
				
			||||||
----------- | ------ | ------------------------------------------
 | 
					 | 
				
			||||||
[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### just_created 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This element shows a 'thank you' that the contributor has recently created this element
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  - *You just created this element! Thanks for sharing this info with the world and helping people worldwide.*  corresponds with  `id~.+`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `_backend~.+&_last_edit:passed_time<300&|_version_number=1`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Privacy notice 
 | 
					### Privacy notice 
 | 
				
			||||||
| 
						 | 
					@ -441,26 +398,6 @@ This tagrendering has no question and is thus read-only
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### leftover-questions 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### all-tags 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 range 
 | 
					 range 
 | 
				
			||||||
=======
 | 
					=======
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -547,36 +484,6 @@ Elements must have the all of following tags to be shown on this layer:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Warning: 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
this quick overview is incomplete
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
attribute | type | values which are supported by this layer
 | 
					 | 
				
			||||||
----------- | ------ | ------------------------------------------
 | 
					 | 
				
			||||||
[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### just_created 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This element shows a 'thank you' that the contributor has recently created this element
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  - *You just created this element! Thanks for sharing this info with the world and helping people worldwide.*  corresponds with  `id~.+`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `_backend~.+&_last_edit:passed_time<300&|_version_number=1`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### add_new 
 | 
					### add_new 
 | 
				
			||||||
| 
						 | 
					@ -603,26 +510,6 @@ This tagrendering is only visible in the popup if the following condition is met
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### leftover-questions 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### all-tags 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#### Filters 
 | 
					#### Filters 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -814,56 +701,6 @@ Elements must have the all of following tags to be shown on this layer:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Warning: 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
this quick overview is incomplete
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
attribute | type | values which are supported by this layer
 | 
					 | 
				
			||||||
----------- | ------ | ------------------------------------------
 | 
					 | 
				
			||||||
[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### just_created 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This element shows a 'thank you' that the contributor has recently created this element
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  - *You just created this element! Thanks for sharing this info with the world and helping people worldwide.*  corresponds with  `id~.+`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `_backend~.+&_last_edit:passed_time<300&|_version_number=1`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### leftover-questions 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### all-tags 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 import_candidate 
 | 
					 import_candidate 
 | 
				
			||||||
| 
						 | 
					@ -905,36 +742,6 @@ Elements must have the all of following tags to be shown on this layer:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Warning: 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
this quick overview is incomplete
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
attribute | type | values which are supported by this layer
 | 
					 | 
				
			||||||
----------- | ------ | ------------------------------------------
 | 
					 | 
				
			||||||
[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### just_created 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This element shows a 'thank you' that the contributor has recently created this element
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  - *You just created this element! Thanks for sharing this info with the world and helping people worldwide.*  corresponds with  `id~.+`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `_backend~.+&_last_edit:passed_time<300&|_version_number=1`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### all_tags 
 | 
					### all_tags 
 | 
				
			||||||
| 
						 | 
					@ -947,16 +754,6 @@ This tagrendering has no question and is thus read-only
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### leftover-questions 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 usersettings 
 | 
					 usersettings 
 | 
				
			||||||
==============
 | 
					==============
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1004,7 +801,6 @@ this quick overview is incomplete
 | 
				
			||||||
 | 
					
 | 
				
			||||||
attribute | type | values which are supported by this layer
 | 
					attribute | type | values which are supported by this layer
 | 
				
			||||||
----------- | ------ | ------------------------------------------
 | 
					----------- | ------ | ------------------------------------------
 | 
				
			||||||
[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | 
 | 
					 | 
				
			||||||
[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/__url_parameter_initialized:language#values) [__url_parameter_initialized:language](https://wiki.openstreetmap.org/wiki/Key:__url_parameter_initialized:language) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:__url_parameter_initialized:language%3Dyes)
 | 
					[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/__url_parameter_initialized:language#values) [__url_parameter_initialized:language](https://wiki.openstreetmap.org/wiki/Key:__url_parameter_initialized:language) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:__url_parameter_initialized:language%3Dyes)
 | 
				
			||||||
[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/mapcomplete-preferred-background-layer#values) [mapcomplete-preferred-background-layer](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-preferred-background-layer) | Multiple choice | [](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-preferred-background-layer%3D) [osm](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-preferred-background-layer%3Dosm) [photo](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-preferred-background-layer%3Dphoto) [map](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-preferred-background-layer%3Dmap) [](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-preferred-background-layer%3D)
 | 
					[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/mapcomplete-preferred-background-layer#values) [mapcomplete-preferred-background-layer](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-preferred-background-layer) | Multiple choice | [](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-preferred-background-layer%3D) [osm](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-preferred-background-layer%3Dosm) [photo](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-preferred-background-layer%3Dphoto) [map](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-preferred-background-layer%3Dmap) [](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-preferred-background-layer%3D)
 | 
				
			||||||
[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/mapcomplete-pictures-license#values) [mapcomplete-pictures-license](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-pictures-license) | Multiple choice | [CC0](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-pictures-license%3DCC0) [CC-BY 4.0](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-pictures-license%3DCC-BY 4.0) [CC-BY-SA 4.0](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-pictures-license%3DCC-BY-SA 4.0)
 | 
					[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/mapcomplete-pictures-license#values) [mapcomplete-pictures-license](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-pictures-license) | Multiple choice | [CC0](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-pictures-license%3DCC0) [CC-BY 4.0](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-pictures-license%3DCC-BY 4.0) [CC-BY-SA 4.0](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-pictures-license%3DCC-BY-SA 4.0)
 | 
				
			||||||
| 
						 | 
					@ -1020,25 +816,6 @@ attribute | type | values which are supported by this layer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### just_created 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This element shows a 'thank you' that the contributor has recently created this element
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  - *You just created this element! Thanks for sharing this info with the world and helping people worldwide.*  corresponds with  `id~.+`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `_backend~.+&_last_edit:passed_time<300&|_version_number=1`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### profile 
 | 
					### profile 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1395,16 +1172,6 @@ This tagrendering is only visible in the popup if the following condition is met
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### leftover-questions 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 Normal layers 
 | 
					 Normal layers 
 | 
				
			||||||
===============
 | 
					===============
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -59,6 +59,7 @@ Special library layer which does not need a '.questions'-prefix before being imp
 | 
				
			||||||
    + [sugar_free](#sugar_free)
 | 
					    + [sugar_free](#sugar_free)
 | 
				
			||||||
    + [lactose_free](#lactose_free)
 | 
					    + [lactose_free](#lactose_free)
 | 
				
			||||||
    + [gluten_free](#gluten_free)
 | 
					    + [gluten_free](#gluten_free)
 | 
				
			||||||
 | 
					    + [vegan](#vegan)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -127,6 +128,7 @@ attribute | type | values which are supported by this layer
 | 
				
			||||||
[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/diet:sugar_free#values) [diet:sugar_free](https://wiki.openstreetmap.org/wiki/Key:diet:sugar_free) | Multiple choice | [only](https://wiki.openstreetmap.org/wiki/Tag:diet:sugar_free%3Donly) [yes](https://wiki.openstreetmap.org/wiki/Tag:diet:sugar_free%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:diet:sugar_free%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:diet:sugar_free%3Dno)
 | 
					[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/diet:sugar_free#values) [diet:sugar_free](https://wiki.openstreetmap.org/wiki/Key:diet:sugar_free) | Multiple choice | [only](https://wiki.openstreetmap.org/wiki/Tag:diet:sugar_free%3Donly) [yes](https://wiki.openstreetmap.org/wiki/Tag:diet:sugar_free%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:diet:sugar_free%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:diet:sugar_free%3Dno)
 | 
				
			||||||
[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/diet:lactose_free#values) [diet:lactose_free](https://wiki.openstreetmap.org/wiki/Key:diet:lactose_free) | Multiple choice | [only](https://wiki.openstreetmap.org/wiki/Tag:diet:lactose_free%3Donly) [yes](https://wiki.openstreetmap.org/wiki/Tag:diet:lactose_free%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:diet:lactose_free%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:diet:lactose_free%3Dno)
 | 
					[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/diet:lactose_free#values) [diet:lactose_free](https://wiki.openstreetmap.org/wiki/Key:diet:lactose_free) | Multiple choice | [only](https://wiki.openstreetmap.org/wiki/Tag:diet:lactose_free%3Donly) [yes](https://wiki.openstreetmap.org/wiki/Tag:diet:lactose_free%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:diet:lactose_free%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:diet:lactose_free%3Dno)
 | 
				
			||||||
[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/diet:gluten_free#values) [diet:gluten_free](https://wiki.openstreetmap.org/wiki/Key:diet:gluten_free) | Multiple choice | [only](https://wiki.openstreetmap.org/wiki/Tag:diet:gluten_free%3Donly) [yes](https://wiki.openstreetmap.org/wiki/Tag:diet:gluten_free%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:diet:gluten_free%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:diet:gluten_free%3Dno)
 | 
					[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/diet:gluten_free#values) [diet:gluten_free](https://wiki.openstreetmap.org/wiki/Key:diet:gluten_free) | Multiple choice | [only](https://wiki.openstreetmap.org/wiki/Tag:diet:gluten_free%3Donly) [yes](https://wiki.openstreetmap.org/wiki/Tag:diet:gluten_free%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:diet:gluten_free%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:diet:gluten_free%3Dno)
 | 
				
			||||||
 | 
					[<img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/diet:vegan#values) [diet:vegan](https://wiki.openstreetmap.org/wiki/Key:diet:vegan) | Multiple choice | [only](https://wiki.openstreetmap.org/wiki/Tag:diet:vegan%3Donly) [yes](https://wiki.openstreetmap.org/wiki/Tag:diet:vegan%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:diet:vegan%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:diet:vegan%3Dno)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -756,6 +758,8 @@ The question is  *Does this place offer internet access?*
 | 
				
			||||||
  - *This place offers wired internet access*  corresponds with  `internet_access=wired`
 | 
					  - *This place offers wired internet access*  corresponds with  `internet_access=wired`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This tagrendering has labels  `internet-all`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### internet-fee 
 | 
					### internet-fee 
 | 
				
			||||||
| 
						 | 
					@ -775,6 +779,8 @@ The question is  *Is there a fee for internet access?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `internet_access!=no &internet_access~.+`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `internet_access!=no &internet_access~.+`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This tagrendering has labels  `internet-all`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### internet-ssid 
 | 
					### internet-ssid 
 | 
				
			||||||
| 
						 | 
					@ -796,6 +802,8 @@ This is rendered with  `The network name is <b>{internet_access:ssid}</b>`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `internet_access=wlan`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `internet_access=wlan`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This tagrendering has labels  `internet-all`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### luminous_or_lit 
 | 
					### luminous_or_lit 
 | 
				
			||||||
| 
						 | 
					@ -887,7 +895,7 @@ The question is  *Does {title()} have a lactose-free offering?*
 | 
				
			||||||
  - *<b>Only sells lactose free</b> products*  corresponds with  `diet:lactose_free=only`
 | 
					  - *<b>Only sells lactose free</b> products*  corresponds with  `diet:lactose_free=only`
 | 
				
			||||||
  - *Big lactose free offering*  corresponds with  `diet:lactose_free=yes`
 | 
					  - *Big lactose free offering*  corresponds with  `diet:lactose_free=yes`
 | 
				
			||||||
  - *<b>Limited lactose free</b> offering*  corresponds with  `diet:lactose_free=limited`
 | 
					  - *<b>Limited lactose free</b> offering*  corresponds with  `diet:lactose_free=limited`
 | 
				
			||||||
  - *No lactose free offering*  corresponds with  `diet:lactose_free=no`
 | 
					  - *This shop has no lactose free offering*  corresponds with  `diet:lactose_free=no`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering has labels  `diets`
 | 
					This tagrendering has labels  `diets`
 | 
				
			||||||
| 
						 | 
					@ -912,4 +920,24 @@ The question is  *Does this shop have a gluten free offering?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering has labels  `diets`
 | 
					This tagrendering has labels  `diets`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### vegan 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The question is  *Does this place offer a vegan option?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - *This place <b>only sells vegan</b> products*  corresponds with  `diet:vegan=only`
 | 
				
			||||||
 | 
					  - *This shop has a big vegan offering*  corresponds with  `diet:vegan=yes`
 | 
				
			||||||
 | 
					  - *This shop has a <b>limited vegan</b> offering*  corresponds with  `diet:vegan=limited`
 | 
				
			||||||
 | 
					  - *This shop has no vegan offering*  corresponds with  `diet:vegan=no`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This tagrendering has labels  `diets` 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This document is autogenerated from [assets/layers/questions/questions.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/questions/questions.json)
 | 
					This document is autogenerated from [assets/layers/questions/questions.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/questions/questions.json)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -206,7 +206,7 @@ This is rendered with  `Access is {access}`
 | 
				
			||||||
  - This option cannot be chosen as answer
 | 
					  - This option cannot be chosen as answer
 | 
				
			||||||
  - *Only customers of the place this station belongs to can use this charging station<br/><span class='subtle'>E.g. a charging station operated by hotel which is only usable by their guests</span>*  corresponds with  `access=customers`
 | 
					  - *Only customers of the place this station belongs to can use this charging station<br/><span class='subtle'>E.g. a charging station operated by hotel which is only usable by their guests</span>*  corresponds with  `access=customers`
 | 
				
			||||||
  - *A <b>key</b> must be requested to access this charging station<br/><span class='subtle'>E.g. a charging station operated by hotel which is only usable by their guests, which receive a key from the reception to unlock the charging station</span>*  corresponds with  `access=key`
 | 
					  - *A <b>key</b> must be requested to access this charging station<br/><span class='subtle'>E.g. a charging station operated by hotel which is only usable by their guests, which receive a key from the reception to unlock the charging station</span>*  corresponds with  `access=key`
 | 
				
			||||||
  - *Not accessible to the general public (e.g. only accessible to the owners, employees, ...)*  corresponds with  `access=private`
 | 
					  - *Not accessible to the general public (e.g. only accessible to the owners, employees, …)*  corresponds with  `access=private`
 | 
				
			||||||
  - *This charging station is accessible to the public during certain hours or conditions. Restrictions might apply, but general use is allowed.*  corresponds with  `access=permissive`
 | 
					  - *This charging station is accessible to the public during certain hours or conditions. Restrictions might apply, but general use is allowed.*  corresponds with  `access=permissive`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -620,7 +620,7 @@ This is rendered with  `<div style='display: inline-block'><b><b>Schuko wall plu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Schuko wall plug</b> without ground pin (CEE7/4 type F) outputs at most 3.6 kW A*  corresponds with  `socket:schuko:output=3.6 kW`
 | 
					  - *<b>Schuko wall plug</b> without ground pin (CEE7/4 type F) outputs at most 3.6 kw A*  corresponds with  `socket:schuko:output=3.6 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:schuko~.+ &socket:schuko!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:schuko~.+ &socket:schuko!=0`
 | 
				
			||||||
| 
						 | 
					@ -689,8 +689,8 @@ This is rendered with  `<div style='display: inline-block'><b><b>European wall p
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 3 kW A*  corresponds with  `socket:typee:output=3 kW`
 | 
					  - *<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 3 kw A*  corresponds with  `socket:typee:output=3 kW`
 | 
				
			||||||
  - *<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 22 kW A*  corresponds with  `socket:typee:output=22 kW`
 | 
					  - *<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 22 kw A*  corresponds with  `socket:typee:output=22 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:typee~.+ &socket:typee!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:typee~.+ &socket:typee!=0`
 | 
				
			||||||
| 
						 | 
					@ -759,7 +759,7 @@ This is rendered with  `<div style='display: inline-block'><b><b>Chademo</b></b>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Chademo</b> outputs at most 50 kW A*  corresponds with  `socket:chademo:output=50 kW`
 | 
					  - *<b>Chademo</b> outputs at most 50 kw A*  corresponds with  `socket:chademo:output=50 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:chademo~.+ &socket:chademo!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:chademo~.+ &socket:chademo!=0`
 | 
				
			||||||
| 
						 | 
					@ -829,8 +829,8 @@ This is rendered with  `<div style='display: inline-block'><b><b>Type 1 with cab
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Type 1 with cable</b> (J1772) outputs at most 3.7 kW A*  corresponds with  `socket:type1_cable:output=3.7 kW`
 | 
					  - *<b>Type 1 with cable</b> (J1772) outputs at most 3.7 kw A*  corresponds with  `socket:type1_cable:output=3.7 kW`
 | 
				
			||||||
  - *<b>Type 1 with cable</b> (J1772) outputs at most 7 kW A*  corresponds with  `socket:type1_cable:output=7 kW`
 | 
					  - *<b>Type 1 with cable</b> (J1772) outputs at most 7 kw A*  corresponds with  `socket:type1_cable:output=7 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:type1_cable~.+ &socket:type1_cable!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:type1_cable~.+ &socket:type1_cable!=0`
 | 
				
			||||||
| 
						 | 
					@ -900,10 +900,10 @@ This is rendered with  `<div style='display: inline-block'><b><b>Type 1 <i>witho
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 3.7 kW A*  corresponds with  `socket:type1:output=3.7 kW`
 | 
					  - *<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 3.7 kw A*  corresponds with  `socket:type1:output=3.7 kW`
 | 
				
			||||||
  - *<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 6.6 kW A*  corresponds with  `socket:type1:output=6.6 kW`
 | 
					  - *<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 6.6 kw A*  corresponds with  `socket:type1:output=6.6 kW`
 | 
				
			||||||
  - *<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7 kW A*  corresponds with  `socket:type1:output=7 kW`
 | 
					  - *<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7 kw A*  corresponds with  `socket:type1:output=7 kW`
 | 
				
			||||||
  - *<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7.2 kW A*  corresponds with  `socket:type1:output=7.2 kW`
 | 
					  - *<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7.2 kw A*  corresponds with  `socket:type1:output=7.2 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:type1~.+ &socket:type1!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:type1~.+ &socket:type1!=0`
 | 
				
			||||||
| 
						 | 
					@ -974,10 +974,10 @@ This is rendered with  `<div style='display: inline-block'><b><b>Type 1 CCS</b>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 50 kW A*  corresponds with  `socket:type1_combo:output=50 kW`
 | 
					  - *<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 50 kw A*  corresponds with  `socket:type1_combo:output=50 kW`
 | 
				
			||||||
  - *<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 62.5 kW A*  corresponds with  `socket:type1_combo:output=62.5 kW`
 | 
					  - *<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 62.5 kw A*  corresponds with  `socket:type1_combo:output=62.5 kW`
 | 
				
			||||||
  - *<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 150 kW A*  corresponds with  `socket:type1_combo:output=150 kW`
 | 
					  - *<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 150 kw A*  corresponds with  `socket:type1_combo:output=150 kW`
 | 
				
			||||||
  - *<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 350 kW A*  corresponds with  `socket:type1_combo:output=350 kW`
 | 
					  - *<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 350 kw A*  corresponds with  `socket:type1_combo:output=350 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:type1_combo~.+ &socket:type1_combo!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:type1_combo~.+ &socket:type1_combo!=0`
 | 
				
			||||||
| 
						 | 
					@ -1047,9 +1047,9 @@ This is rendered with  `<div style='display: inline-block'><b><b>Tesla Superchar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla Supercharger</b> outputs at most 120 kW A*  corresponds with  `socket:tesla_supercharger:output=120 kW`
 | 
					  - *<b>Tesla Supercharger</b> outputs at most 120 kw A*  corresponds with  `socket:tesla_supercharger:output=120 kW`
 | 
				
			||||||
  - *<b>Tesla Supercharger</b> outputs at most 150 kW A*  corresponds with  `socket:tesla_supercharger:output=150 kW`
 | 
					  - *<b>Tesla Supercharger</b> outputs at most 150 kw A*  corresponds with  `socket:tesla_supercharger:output=150 kW`
 | 
				
			||||||
  - *<b>Tesla Supercharger</b> outputs at most 250 kW A*  corresponds with  `socket:tesla_supercharger:output=250 kW`
 | 
					  - *<b>Tesla Supercharger</b> outputs at most 250 kw A*  corresponds with  `socket:tesla_supercharger:output=250 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_supercharger~.+ &socket:tesla_supercharger!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_supercharger~.+ &socket:tesla_supercharger!=0`
 | 
				
			||||||
| 
						 | 
					@ -1120,8 +1120,8 @@ This is rendered with  `<div style='display: inline-block'><b><b>Type 2</b> (men
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Type 2</b> (mennekes) outputs at most 11 kW A*  corresponds with  `socket:type2:output=11 kW`
 | 
					  - *<b>Type 2</b> (mennekes) outputs at most 11 kw A*  corresponds with  `socket:type2:output=11 kW`
 | 
				
			||||||
  - *<b>Type 2</b> (mennekes) outputs at most 22 kW A*  corresponds with  `socket:type2:output=22 kW`
 | 
					  - *<b>Type 2</b> (mennekes) outputs at most 22 kw A*  corresponds with  `socket:type2:output=22 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:type2~.+ &socket:type2!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:type2~.+ &socket:type2!=0`
 | 
				
			||||||
| 
						 | 
					@ -1192,7 +1192,7 @@ This is rendered with  `<div style='display: inline-block'><b><b>Type 2 CCS</b>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Type 2 CCS</b> (mennekes) outputs at most 50 kW A*  corresponds with  `socket:type2_combo:output=50 kW`
 | 
					  - *<b>Type 2 CCS</b> (mennekes) outputs at most 50 kw A*  corresponds with  `socket:type2_combo:output=50 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:type2_combo~.+ &socket:type2_combo!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:type2_combo~.+ &socket:type2_combo!=0`
 | 
				
			||||||
| 
						 | 
					@ -1263,8 +1263,8 @@ This is rendered with  `<div style='display: inline-block'><b><b>Type 2 with cab
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Type 2 with cable</b> (mennekes) outputs at most 11 kW A*  corresponds with  `socket:type2_cable:output=11 kW`
 | 
					  - *<b>Type 2 with cable</b> (mennekes) outputs at most 11 kw A*  corresponds with  `socket:type2_cable:output=11 kW`
 | 
				
			||||||
  - *<b>Type 2 with cable</b> (mennekes) outputs at most 22 kW A*  corresponds with  `socket:type2_cable:output=22 kW`
 | 
					  - *<b>Type 2 with cable</b> (mennekes) outputs at most 22 kw A*  corresponds with  `socket:type2_cable:output=22 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:type2_cable~.+ &socket:type2_cable!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:type2_cable~.+ &socket:type2_cable!=0`
 | 
				
			||||||
| 
						 | 
					@ -1277,18 +1277,18 @@ This tagrendering has labels  `technical`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?*
 | 
					The question is  *What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded Type 2 CSS)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [socket:tesla_supercharger_ccs:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:voltage) 
 | 
					This rendering asks information about the property  [socket:tesla_supercharger_ccs:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:voltage) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs {socket:tesla_supercharger_ccs:voltage} volt`
 | 
					This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded Type 2 CSS)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs {socket:tesla_supercharger_ccs:voltage} volt`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs 500 volt*  corresponds with  `socket:tesla_supercharger_ccs:voltage=500 V`
 | 
					  - *<b>Tesla Supercharger CCS</b> (a branded Type 2 CSS) outputs 500 volt*  corresponds with  `socket:tesla_supercharger_ccs:voltage=500 V`
 | 
				
			||||||
  - *<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs 920 volt*  corresponds with  `socket:tesla_supercharger_ccs:voltage=920 V`
 | 
					  - *<b>Tesla Supercharger CCS</b> (a branded Type 2 CSS) outputs 920 volt*  corresponds with  `socket:tesla_supercharger_ccs:voltage=920 V`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_supercharger_ccs~.+ &socket:tesla_supercharger_ccs!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_supercharger_ccs~.+ &socket:tesla_supercharger_ccs!=0`
 | 
				
			||||||
| 
						 | 
					@ -1325,17 +1325,17 @@ This tagrendering has labels  `technical`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?*
 | 
					The question is  *What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded Type 2 CSS)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [socket:tesla_supercharger_ccs:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:output) 
 | 
					This rendering asks information about the property  [socket:tesla_supercharger_ccs:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:output) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs at most {socket:tesla_supercharger_ccs:output}`
 | 
					This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded Type 2 CSS)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs at most {socket:tesla_supercharger_ccs:output}`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs at most 50 kW A*  corresponds with  `socket:tesla_supercharger_ccs:output=50 kW`
 | 
					  - *<b>Tesla Supercharger CCS</b> (a branded Type 2 CSS) outputs at most 50 kw A*  corresponds with  `socket:tesla_supercharger_ccs:output=50 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_supercharger_ccs~.+ &socket:tesla_supercharger_ccs!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_supercharger_ccs~.+ &socket:tesla_supercharger_ccs!=0`
 | 
				
			||||||
| 
						 | 
					@ -1348,17 +1348,17 @@ This tagrendering has labels  `technical`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?*
 | 
					The question is  *What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) 
 | 
					This rendering asks information about the property  [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs {socket:tesla_destination:voltage} volt`
 | 
					This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs {socket:tesla_destination:voltage} volt`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla Supercharger (destination)</b> outputs 480 volt*  corresponds with  `socket:tesla_destination:voltage=480 V`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> outputs 480 volt*  corresponds with  `socket:tesla_destination:voltage=480 V`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
				
			||||||
| 
						 | 
					@ -1371,18 +1371,18 @@ This tagrendering has labels  `technical`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *What current do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?*
 | 
					The question is  *What current do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) 
 | 
					This rendering asks information about the property  [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most {socket:tesla_destination:current}A`
 | 
					This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most {socket:tesla_destination:current}A`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla Supercharger (destination)</b> outputs at most 125 A*  corresponds with  `socket:tesla_destination:current=125 A`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> outputs at most 125 A*  corresponds with  `socket:tesla_destination:current=125 A`
 | 
				
			||||||
  - *<b>Tesla Supercharger (destination)</b> outputs at most 350 A*  corresponds with  `socket:tesla_destination:current=350 A`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> outputs at most 350 A*  corresponds with  `socket:tesla_destination:current=350 A`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
				
			||||||
| 
						 | 
					@ -1395,19 +1395,19 @@ This tagrendering has labels  `technical`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?*
 | 
					The question is  *What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) 
 | 
					This rendering asks information about the property  [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most {socket:tesla_destination:output}`
 | 
					This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most {socket:tesla_destination:output}`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla Supercharger (destination)</b> outputs at most 120 kW A*  corresponds with  `socket:tesla_destination:output=120 kW`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> outputs at most 120 kw A*  corresponds with  `socket:tesla_destination:output=120 kW`
 | 
				
			||||||
  - *<b>Tesla Supercharger (destination)</b> outputs at most 150 kW A*  corresponds with  `socket:tesla_destination:output=150 kW`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> outputs at most 150 kw A*  corresponds with  `socket:tesla_destination:output=150 kW`
 | 
				
			||||||
  - *<b>Tesla Supercharger (destination)</b> outputs at most 250 kW A*  corresponds with  `socket:tesla_destination:output=250 kW`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> outputs at most 250 kw A*  corresponds with  `socket:tesla_destination:output=250 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
				
			||||||
| 
						 | 
					@ -1420,7 +1420,7 @@ This tagrendering has labels  `technical`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?*
 | 
					The question is  *What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) 
 | 
					This rendering asks information about the property  [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1430,8 +1430,8 @@ This is rendered with  `<div style='display: inline-block'><b><b>Tesla superchar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs 230 volt*  corresponds with  `socket:tesla_destination:voltage=230 V`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs 230 volt*  corresponds with  `socket:tesla_destination:voltage=230 V`
 | 
				
			||||||
  - *<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs 400 volt*  corresponds with  `socket:tesla_destination:voltage=400 V`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs 400 volt*  corresponds with  `socket:tesla_destination:voltage=400 V`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
				
			||||||
| 
						 | 
					@ -1444,18 +1444,18 @@ This tagrendering has labels  `technical`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *What current do the plugs with <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?*
 | 
					The question is  *What current do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) 
 | 
					This rendering asks information about the property  [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is rendered with  `<div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most {socket:tesla_destination:current}A`
 | 
					This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most {socket:tesla_destination:current}A`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 16 A*  corresponds with  `socket:tesla_destination:current=16 A`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as tesla) outputs at most 16 A*  corresponds with  `socket:tesla_destination:current=16 A`
 | 
				
			||||||
  - *<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 32 A*  corresponds with  `socket:tesla_destination:current=32 A`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs at most 32 A*  corresponds with  `socket:tesla_destination:current=32 A`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
				
			||||||
| 
						 | 
					@ -1468,18 +1468,18 @@ This tagrendering has labels  `technical`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?*
 | 
					The question is  *What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) 
 | 
					This rendering asks information about the property  [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is rendered with  `<div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most {socket:tesla_destination:output}`
 | 
					This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most {socket:tesla_destination:output}`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 11 kW A*  corresponds with  `socket:tesla_destination:output=11 kW`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs at most 11 kw A*  corresponds with  `socket:tesla_destination:output=11 kW`
 | 
				
			||||||
  - *<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 22 kW A*  corresponds with  `socket:tesla_destination:output=22 kW`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs at most 22 kw A*  corresponds with  `socket:tesla_destination:output=22 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
				
			||||||
| 
						 | 
					@ -1549,8 +1549,8 @@ This is rendered with  `<div style='display: inline-block'><b><b>USB</b> to char
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>USB</b> to charge phones and small electronics outputs at most 5W A*  corresponds with  `socket:USB-A:output=5W`
 | 
					  - *<b>USB</b> to charge phones and small electronics outputs at most 5w A*  corresponds with  `socket:USB-A:output=5W`
 | 
				
			||||||
  - *<b>USB</b> to charge phones and small electronics outputs at most 10W A*  corresponds with  `socket:USB-A:output=10W`
 | 
					  - *<b>USB</b> to charge phones and small electronics outputs at most 10w A*  corresponds with  `socket:USB-A:output=10W`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:USB-A~.+ &socket:USB-A!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:USB-A~.+ &socket:USB-A!=0`
 | 
				
			||||||
| 
						 | 
					@ -1730,7 +1730,7 @@ The question is  *Does one have to pay to use this charging station?*
 | 
				
			||||||
  - *Free to use, but one has to authenticate*  corresponds with  `fee=no &authentication:none=no`
 | 
					  - *Free to use, but one has to authenticate*  corresponds with  `fee=no &authentication:none=no`
 | 
				
			||||||
  - *Free to use*  corresponds with  `fee=no`
 | 
					  - *Free to use*  corresponds with  `fee=no`
 | 
				
			||||||
  - This option cannot be chosen as answer
 | 
					  - This option cannot be chosen as answer
 | 
				
			||||||
  - *Paid use, but free for customers of the hotel/pub/hospital/... who operates the charging station*  corresponds with  `fee=yes&fee:conditional=no @ customers`
 | 
					  - *Paid use, but free for customers of the hotel/pub/hospital/… who operates the charging station*  corresponds with  `fee=yes &fee:conditional=no @ customers`
 | 
				
			||||||
  - *Paid use*  corresponds with  `fee=yes`
 | 
					  - *Paid use*  corresponds with  `fee=yes`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2132,15 +2132,15 @@ connection_type.1 | Has a <div style='display: inline-block'><b><b>Schuko wall p
 | 
				
			||||||
connection_type.2 | Has a <div style='display: inline-block'><b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> connector | socket:typee~.+
 | 
					connection_type.2 | Has a <div style='display: inline-block'><b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> connector | socket:typee~.+
 | 
				
			||||||
connection_type.3 | Has a <div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div> connector | socket:chademo~.+
 | 
					connection_type.3 | Has a <div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div> connector | socket:chademo~.+
 | 
				
			||||||
connection_type.4 | Has a <div style='display: inline-block'><b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> connector | socket:type1_cable~.+
 | 
					connection_type.4 | Has a <div style='display: inline-block'><b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> connector | socket:type1_cable~.+
 | 
				
			||||||
connection_type.5 | Has a <div style='display: inline-block'><b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> connector | socket:type1~.+
 | 
					connection_type.5 | Has a <div style='display: inline-block'><b>Type 1 <i>without</i> cable (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> connector | socket:type1~.+
 | 
				
			||||||
connection_type.6 | Has a <div style='display: inline-block'><b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> connector | socket:type1_combo~.+
 | 
					connection_type.6 | Has a <div style='display: inline-block'><b>Type 1 CCS (aka Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> connector | socket:type1_combo~.+
 | 
				
			||||||
connection_type.7 | Has a <div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> connector | socket:tesla_supercharger~.+
 | 
					connection_type.7 | Has a <div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> connector | socket:tesla_supercharger~.+
 | 
				
			||||||
connection_type.8 | Has a <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> connector | socket:type2~.+
 | 
					connection_type.8 | Has a <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> connector | socket:type2~.+
 | 
				
			||||||
connection_type.9 | Has a <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> connector | socket:type2_combo~.+
 | 
					connection_type.9 | Has a <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> connector | socket:type2_combo~.+
 | 
				
			||||||
connection_type.10 | Has a <div style='display: inline-block'><b><b>Type 2 with cable</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> connector | socket:type2_cable~.+
 | 
					connection_type.10 | Has a <div style='display: inline-block'><b><b>Type 2 with cable</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> connector | socket:type2_cable~.+
 | 
				
			||||||
connection_type.11 | Has a <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> connector | socket:tesla_supercharger_ccs~.+
 | 
					connection_type.11 | Has a <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> connector | socket:tesla_supercharger_ccs~.+
 | 
				
			||||||
connection_type.12 | Has a <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> connector | socket:tesla_destination~.+
 | 
					connection_type.12 | Has a <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> connector | socket:tesla_destination~.+
 | 
				
			||||||
connection_type.13 | Has a <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> connector | socket:tesla_destination~.+
 | 
					connection_type.13 | Has a <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> connector | socket:tesla_destination~.+
 | 
				
			||||||
connection_type.14 | Has a <div style='display: inline-block'><b><b>USB</b> to charge phones and small electronics</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> connector | socket:USB-A~.+
 | 
					connection_type.14 | Has a <div style='display: inline-block'><b><b>USB</b> to charge phones and small electronics</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> connector | socket:USB-A~.+
 | 
				
			||||||
connection_type.15 | Has a <div style='display: inline-block'><b><b>Bosch Active Connect with 3 pins</b> and cable</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/bosch-3pin.svg'/></div> connector | socket:bosch_3pin~.+
 | 
					connection_type.15 | Has a <div style='display: inline-block'><b><b>Bosch Active Connect with 3 pins</b> and cable</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/bosch-3pin.svg'/></div> connector | socket:bosch_3pin~.+
 | 
				
			||||||
connection_type.16 | Has a <div style='display: inline-block'><b><b>Bosch Active Connect with 5 pins</b> and cable</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/bosch-5pin.svg'/></div> connector | socket:bosch_5pin~.+
 | 
					connection_type.16 | Has a <div style='display: inline-block'><b><b>Bosch Active Connect with 5 pins</b> and cable</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/bosch-5pin.svg'/></div> connector | socket:bosch_5pin~.+
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -204,7 +204,7 @@ This is rendered with  `Access is {access}`
 | 
				
			||||||
  - This option cannot be chosen as answer
 | 
					  - This option cannot be chosen as answer
 | 
				
			||||||
  - *Only customers of the place this station belongs to can use this charging station<br/><span class='subtle'>E.g. a charging station operated by hotel which is only usable by their guests</span>*  corresponds with  `access=customers`
 | 
					  - *Only customers of the place this station belongs to can use this charging station<br/><span class='subtle'>E.g. a charging station operated by hotel which is only usable by their guests</span>*  corresponds with  `access=customers`
 | 
				
			||||||
  - *A <b>key</b> must be requested to access this charging station<br/><span class='subtle'>E.g. a charging station operated by hotel which is only usable by their guests, which receive a key from the reception to unlock the charging station</span>*  corresponds with  `access=key`
 | 
					  - *A <b>key</b> must be requested to access this charging station<br/><span class='subtle'>E.g. a charging station operated by hotel which is only usable by their guests, which receive a key from the reception to unlock the charging station</span>*  corresponds with  `access=key`
 | 
				
			||||||
  - *Not accessible to the general public (e.g. only accessible to the owners, employees, ...)*  corresponds with  `access=private`
 | 
					  - *Not accessible to the general public (e.g. only accessible to the owners, employees, …)*  corresponds with  `access=private`
 | 
				
			||||||
  - *This charging station is accessible to the public during certain hours or conditions. Restrictions might apply, but general use is allowed.*  corresponds with  `access=permissive`
 | 
					  - *This charging station is accessible to the public during certain hours or conditions. Restrictions might apply, but general use is allowed.*  corresponds with  `access=permissive`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -618,7 +618,7 @@ This is rendered with  `<div style='display: inline-block'><b><b>Schuko wall plu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Schuko wall plug</b> without ground pin (CEE7/4 type F) outputs at most 3.6 kW A*  corresponds with  `socket:schuko:output=3.6 kW`
 | 
					  - *<b>Schuko wall plug</b> without ground pin (CEE7/4 type F) outputs at most 3.6 kw A*  corresponds with  `socket:schuko:output=3.6 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:schuko~.+ &socket:schuko!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:schuko~.+ &socket:schuko!=0`
 | 
				
			||||||
| 
						 | 
					@ -687,8 +687,8 @@ This is rendered with  `<div style='display: inline-block'><b><b>European wall p
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 3 kW A*  corresponds with  `socket:typee:output=3 kW`
 | 
					  - *<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 3 kw A*  corresponds with  `socket:typee:output=3 kW`
 | 
				
			||||||
  - *<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 22 kW A*  corresponds with  `socket:typee:output=22 kW`
 | 
					  - *<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 22 kw A*  corresponds with  `socket:typee:output=22 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:typee~.+ &socket:typee!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:typee~.+ &socket:typee!=0`
 | 
				
			||||||
| 
						 | 
					@ -757,7 +757,7 @@ This is rendered with  `<div style='display: inline-block'><b><b>Chademo</b></b>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Chademo</b> outputs at most 50 kW A*  corresponds with  `socket:chademo:output=50 kW`
 | 
					  - *<b>Chademo</b> outputs at most 50 kw A*  corresponds with  `socket:chademo:output=50 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:chademo~.+ &socket:chademo!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:chademo~.+ &socket:chademo!=0`
 | 
				
			||||||
| 
						 | 
					@ -827,8 +827,8 @@ This is rendered with  `<div style='display: inline-block'><b><b>Type 1 with cab
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Type 1 with cable</b> (J1772) outputs at most 3.7 kW A*  corresponds with  `socket:type1_cable:output=3.7 kW`
 | 
					  - *<b>Type 1 with cable</b> (J1772) outputs at most 3.7 kw A*  corresponds with  `socket:type1_cable:output=3.7 kW`
 | 
				
			||||||
  - *<b>Type 1 with cable</b> (J1772) outputs at most 7 kW A*  corresponds with  `socket:type1_cable:output=7 kW`
 | 
					  - *<b>Type 1 with cable</b> (J1772) outputs at most 7 kw A*  corresponds with  `socket:type1_cable:output=7 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:type1_cable~.+ &socket:type1_cable!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:type1_cable~.+ &socket:type1_cable!=0`
 | 
				
			||||||
| 
						 | 
					@ -898,10 +898,10 @@ This is rendered with  `<div style='display: inline-block'><b><b>Type 1 <i>witho
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 3.7 kW A*  corresponds with  `socket:type1:output=3.7 kW`
 | 
					  - *<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 3.7 kw A*  corresponds with  `socket:type1:output=3.7 kW`
 | 
				
			||||||
  - *<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 6.6 kW A*  corresponds with  `socket:type1:output=6.6 kW`
 | 
					  - *<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 6.6 kw A*  corresponds with  `socket:type1:output=6.6 kW`
 | 
				
			||||||
  - *<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7 kW A*  corresponds with  `socket:type1:output=7 kW`
 | 
					  - *<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7 kw A*  corresponds with  `socket:type1:output=7 kW`
 | 
				
			||||||
  - *<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7.2 kW A*  corresponds with  `socket:type1:output=7.2 kW`
 | 
					  - *<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7.2 kw A*  corresponds with  `socket:type1:output=7.2 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:type1~.+ &socket:type1!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:type1~.+ &socket:type1!=0`
 | 
				
			||||||
| 
						 | 
					@ -972,10 +972,10 @@ This is rendered with  `<div style='display: inline-block'><b><b>Type 1 CCS</b>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 50 kW A*  corresponds with  `socket:type1_combo:output=50 kW`
 | 
					  - *<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 50 kw A*  corresponds with  `socket:type1_combo:output=50 kW`
 | 
				
			||||||
  - *<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 62.5 kW A*  corresponds with  `socket:type1_combo:output=62.5 kW`
 | 
					  - *<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 62.5 kw A*  corresponds with  `socket:type1_combo:output=62.5 kW`
 | 
				
			||||||
  - *<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 150 kW A*  corresponds with  `socket:type1_combo:output=150 kW`
 | 
					  - *<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 150 kw A*  corresponds with  `socket:type1_combo:output=150 kW`
 | 
				
			||||||
  - *<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 350 kW A*  corresponds with  `socket:type1_combo:output=350 kW`
 | 
					  - *<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 350 kw A*  corresponds with  `socket:type1_combo:output=350 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:type1_combo~.+ &socket:type1_combo!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:type1_combo~.+ &socket:type1_combo!=0`
 | 
				
			||||||
| 
						 | 
					@ -1045,9 +1045,9 @@ This is rendered with  `<div style='display: inline-block'><b><b>Tesla Superchar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla Supercharger</b> outputs at most 120 kW A*  corresponds with  `socket:tesla_supercharger:output=120 kW`
 | 
					  - *<b>Tesla Supercharger</b> outputs at most 120 kw A*  corresponds with  `socket:tesla_supercharger:output=120 kW`
 | 
				
			||||||
  - *<b>Tesla Supercharger</b> outputs at most 150 kW A*  corresponds with  `socket:tesla_supercharger:output=150 kW`
 | 
					  - *<b>Tesla Supercharger</b> outputs at most 150 kw A*  corresponds with  `socket:tesla_supercharger:output=150 kW`
 | 
				
			||||||
  - *<b>Tesla Supercharger</b> outputs at most 250 kW A*  corresponds with  `socket:tesla_supercharger:output=250 kW`
 | 
					  - *<b>Tesla Supercharger</b> outputs at most 250 kw A*  corresponds with  `socket:tesla_supercharger:output=250 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_supercharger~.+ &socket:tesla_supercharger!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_supercharger~.+ &socket:tesla_supercharger!=0`
 | 
				
			||||||
| 
						 | 
					@ -1118,8 +1118,8 @@ This is rendered with  `<div style='display: inline-block'><b><b>Type 2</b> (men
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Type 2</b> (mennekes) outputs at most 11 kW A*  corresponds with  `socket:type2:output=11 kW`
 | 
					  - *<b>Type 2</b> (mennekes) outputs at most 11 kw A*  corresponds with  `socket:type2:output=11 kW`
 | 
				
			||||||
  - *<b>Type 2</b> (mennekes) outputs at most 22 kW A*  corresponds with  `socket:type2:output=22 kW`
 | 
					  - *<b>Type 2</b> (mennekes) outputs at most 22 kw A*  corresponds with  `socket:type2:output=22 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:type2~.+ &socket:type2!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:type2~.+ &socket:type2!=0`
 | 
				
			||||||
| 
						 | 
					@ -1190,7 +1190,7 @@ This is rendered with  `<div style='display: inline-block'><b><b>Type 2 CCS</b>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Type 2 CCS</b> (mennekes) outputs at most 50 kW A*  corresponds with  `socket:type2_combo:output=50 kW`
 | 
					  - *<b>Type 2 CCS</b> (mennekes) outputs at most 50 kw A*  corresponds with  `socket:type2_combo:output=50 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:type2_combo~.+ &socket:type2_combo!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:type2_combo~.+ &socket:type2_combo!=0`
 | 
				
			||||||
| 
						 | 
					@ -1261,8 +1261,8 @@ This is rendered with  `<div style='display: inline-block'><b><b>Type 2 with cab
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Type 2 with cable</b> (mennekes) outputs at most 11 kW A*  corresponds with  `socket:type2_cable:output=11 kW`
 | 
					  - *<b>Type 2 with cable</b> (mennekes) outputs at most 11 kw A*  corresponds with  `socket:type2_cable:output=11 kW`
 | 
				
			||||||
  - *<b>Type 2 with cable</b> (mennekes) outputs at most 22 kW A*  corresponds with  `socket:type2_cable:output=22 kW`
 | 
					  - *<b>Type 2 with cable</b> (mennekes) outputs at most 22 kw A*  corresponds with  `socket:type2_cable:output=22 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:type2_cable~.+ &socket:type2_cable!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:type2_cable~.+ &socket:type2_cable!=0`
 | 
				
			||||||
| 
						 | 
					@ -1275,18 +1275,18 @@ This tagrendering has labels  `technical`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?*
 | 
					The question is  *What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded Type 2 CSS)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [socket:tesla_supercharger_ccs:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:voltage) 
 | 
					This rendering asks information about the property  [socket:tesla_supercharger_ccs:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:voltage) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs {socket:tesla_supercharger_ccs:voltage} volt`
 | 
					This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded Type 2 CSS)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs {socket:tesla_supercharger_ccs:voltage} volt`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs 500 volt*  corresponds with  `socket:tesla_supercharger_ccs:voltage=500 V`
 | 
					  - *<b>Tesla Supercharger CCS</b> (a branded Type 2 CSS) outputs 500 volt*  corresponds with  `socket:tesla_supercharger_ccs:voltage=500 V`
 | 
				
			||||||
  - *<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs 920 volt*  corresponds with  `socket:tesla_supercharger_ccs:voltage=920 V`
 | 
					  - *<b>Tesla Supercharger CCS</b> (a branded Type 2 CSS) outputs 920 volt*  corresponds with  `socket:tesla_supercharger_ccs:voltage=920 V`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_supercharger_ccs~.+ &socket:tesla_supercharger_ccs!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_supercharger_ccs~.+ &socket:tesla_supercharger_ccs!=0`
 | 
				
			||||||
| 
						 | 
					@ -1323,17 +1323,17 @@ This tagrendering has labels  `technical`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?*
 | 
					The question is  *What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded Type 2 CSS)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [socket:tesla_supercharger_ccs:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:output) 
 | 
					This rendering asks information about the property  [socket:tesla_supercharger_ccs:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:output) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs at most {socket:tesla_supercharger_ccs:output}`
 | 
					This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded Type 2 CSS)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs at most {socket:tesla_supercharger_ccs:output}`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs at most 50 kW A*  corresponds with  `socket:tesla_supercharger_ccs:output=50 kW`
 | 
					  - *<b>Tesla Supercharger CCS</b> (a branded Type 2 CSS) outputs at most 50 kw A*  corresponds with  `socket:tesla_supercharger_ccs:output=50 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_supercharger_ccs~.+ &socket:tesla_supercharger_ccs!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_supercharger_ccs~.+ &socket:tesla_supercharger_ccs!=0`
 | 
				
			||||||
| 
						 | 
					@ -1346,17 +1346,17 @@ This tagrendering has labels  `technical`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?*
 | 
					The question is  *What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) 
 | 
					This rendering asks information about the property  [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs {socket:tesla_destination:voltage} volt`
 | 
					This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs {socket:tesla_destination:voltage} volt`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla Supercharger (destination)</b> outputs 480 volt*  corresponds with  `socket:tesla_destination:voltage=480 V`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> outputs 480 volt*  corresponds with  `socket:tesla_destination:voltage=480 V`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
				
			||||||
| 
						 | 
					@ -1369,18 +1369,18 @@ This tagrendering has labels  `technical`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *What current do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?*
 | 
					The question is  *What current do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) 
 | 
					This rendering asks information about the property  [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most {socket:tesla_destination:current}A`
 | 
					This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most {socket:tesla_destination:current}A`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla Supercharger (destination)</b> outputs at most 125 A*  corresponds with  `socket:tesla_destination:current=125 A`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> outputs at most 125 A*  corresponds with  `socket:tesla_destination:current=125 A`
 | 
				
			||||||
  - *<b>Tesla Supercharger (destination)</b> outputs at most 350 A*  corresponds with  `socket:tesla_destination:current=350 A`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> outputs at most 350 A*  corresponds with  `socket:tesla_destination:current=350 A`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
				
			||||||
| 
						 | 
					@ -1393,19 +1393,19 @@ This tagrendering has labels  `technical`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?*
 | 
					The question is  *What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) 
 | 
					This rendering asks information about the property  [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most {socket:tesla_destination:output}`
 | 
					This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most {socket:tesla_destination:output}`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla Supercharger (destination)</b> outputs at most 120 kW A*  corresponds with  `socket:tesla_destination:output=120 kW`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> outputs at most 120 kw A*  corresponds with  `socket:tesla_destination:output=120 kW`
 | 
				
			||||||
  - *<b>Tesla Supercharger (destination)</b> outputs at most 150 kW A*  corresponds with  `socket:tesla_destination:output=150 kW`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> outputs at most 150 kw A*  corresponds with  `socket:tesla_destination:output=150 kW`
 | 
				
			||||||
  - *<b>Tesla Supercharger (destination)</b> outputs at most 250 kW A*  corresponds with  `socket:tesla_destination:output=250 kW`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> outputs at most 250 kw A*  corresponds with  `socket:tesla_destination:output=250 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
				
			||||||
| 
						 | 
					@ -1418,7 +1418,7 @@ This tagrendering has labels  `technical`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?*
 | 
					The question is  *What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) 
 | 
					This rendering asks information about the property  [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1428,8 +1428,8 @@ This is rendered with  `<div style='display: inline-block'><b><b>Tesla superchar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs 230 volt*  corresponds with  `socket:tesla_destination:voltage=230 V`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs 230 volt*  corresponds with  `socket:tesla_destination:voltage=230 V`
 | 
				
			||||||
  - *<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs 400 volt*  corresponds with  `socket:tesla_destination:voltage=400 V`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs 400 volt*  corresponds with  `socket:tesla_destination:voltage=400 V`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
				
			||||||
| 
						 | 
					@ -1442,18 +1442,18 @@ This tagrendering has labels  `technical`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *What current do the plugs with <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?*
 | 
					The question is  *What current do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) 
 | 
					This rendering asks information about the property  [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is rendered with  `<div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most {socket:tesla_destination:current}A`
 | 
					This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most {socket:tesla_destination:current}A`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 16 A*  corresponds with  `socket:tesla_destination:current=16 A`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as tesla) outputs at most 16 A*  corresponds with  `socket:tesla_destination:current=16 A`
 | 
				
			||||||
  - *<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 32 A*  corresponds with  `socket:tesla_destination:current=32 A`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs at most 32 A*  corresponds with  `socket:tesla_destination:current=32 A`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
				
			||||||
| 
						 | 
					@ -1466,18 +1466,18 @@ This tagrendering has labels  `technical`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?*
 | 
					The question is  *What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) 
 | 
					This rendering asks information about the property  [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is rendered with  `<div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most {socket:tesla_destination:output}`
 | 
					This is rendered with  `<div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most {socket:tesla_destination:output}`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 11 kW A*  corresponds with  `socket:tesla_destination:output=11 kW`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs at most 11 kw A*  corresponds with  `socket:tesla_destination:output=11 kW`
 | 
				
			||||||
  - *<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 22 kW A*  corresponds with  `socket:tesla_destination:output=22 kW`
 | 
					  - *<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs at most 22 kw A*  corresponds with  `socket:tesla_destination:output=22 kW`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:tesla_destination~.+ &socket:tesla_destination!=0`
 | 
				
			||||||
| 
						 | 
					@ -1547,8 +1547,8 @@ This is rendered with  `<div style='display: inline-block'><b><b>USB</b> to char
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<b>USB</b> to charge phones and small electronics outputs at most 5W A*  corresponds with  `socket:USB-A:output=5W`
 | 
					  - *<b>USB</b> to charge phones and small electronics outputs at most 5w A*  corresponds with  `socket:USB-A:output=5W`
 | 
				
			||||||
  - *<b>USB</b> to charge phones and small electronics outputs at most 10W A*  corresponds with  `socket:USB-A:output=10W`
 | 
					  - *<b>USB</b> to charge phones and small electronics outputs at most 10w A*  corresponds with  `socket:USB-A:output=10W`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering is only visible in the popup if the following condition is met: `socket:USB-A~.+ &socket:USB-A!=0`
 | 
					This tagrendering is only visible in the popup if the following condition is met: `socket:USB-A~.+ &socket:USB-A!=0`
 | 
				
			||||||
| 
						 | 
					@ -1728,7 +1728,7 @@ The question is  *Does one have to pay to use this charging station?*
 | 
				
			||||||
  - *Free to use, but one has to authenticate*  corresponds with  `fee=no &authentication:none=no`
 | 
					  - *Free to use, but one has to authenticate*  corresponds with  `fee=no &authentication:none=no`
 | 
				
			||||||
  - *Free to use*  corresponds with  `fee=no`
 | 
					  - *Free to use*  corresponds with  `fee=no`
 | 
				
			||||||
  - This option cannot be chosen as answer
 | 
					  - This option cannot be chosen as answer
 | 
				
			||||||
  - *Paid use, but free for customers of the hotel/pub/hospital/... who operates the charging station*  corresponds with  `fee=yes&fee:conditional=no @ customers`
 | 
					  - *Paid use, but free for customers of the hotel/pub/hospital/… who operates the charging station*  corresponds with  `fee=yes &fee:conditional=no @ customers`
 | 
				
			||||||
  - *Paid use*  corresponds with  `fee=yes`
 | 
					  - *Paid use*  corresponds with  `fee=yes`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -482,7 +482,7 @@ This tagrendering is only visible in the popup if the following condition is met
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					The question is  *Does this shop offer key cutting?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -482,7 +482,7 @@ This tagrendering is only visible in the popup if the following condition is met
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					The question is  *Does this shop offer key cutting?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -487,7 +487,7 @@ This tagrendering is only visible in the popup if the following condition is met
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					The question is  *Does this shop offer key cutting?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -499,7 +499,7 @@ This tagrendering is only visible in the popup if the following condition is met
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					The question is  *Does this shop offer key cutting?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -83,12 +83,12 @@ This tagrendering has no question and is thus read-only
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *<div> Dit is een woonerf: <ul><li>Voetgangers mogen hier de volledige breedte van de straat gebruiken</li><li>Gemotoriseerd verkeer mag maximaal <b>20km/h</b> rijden</li></ul></div>*  corresponds with  `highway=living_street`
 | 
					  - *This is a living street*  corresponds with  `highway=living_street`
 | 
				
			||||||
  - *Dit is een brede, autovrije straat*  corresponds with  `highway=pedestrian`
 | 
					  - *This is a wide, carfree street*  corresponds with  `highway=pedestrian`
 | 
				
			||||||
  - *Dit is een voetpaadje*  corresponds with  `highway=footway`
 | 
					  - *This is a footway*  corresponds with  `highway=footway`
 | 
				
			||||||
  - *Dit is een wegeltje of bospad*  corresponds with  `highway=path`
 | 
					  - *This is a small path*  corresponds with  `highway=path`
 | 
				
			||||||
  - *Dit is een ruiterswegel*  corresponds with  `highway=bridleway`
 | 
					  - *This is a bridleway*  corresponds with  `highway=bridleway`
 | 
				
			||||||
  - *Dit is een tractorspoor of weg om landbouwgrond te bereikken*  corresponds with  `highway=track`
 | 
					  - *This is a land access road*  corresponds with  `highway=track`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -97,7 +97,7 @@ This tagrendering has no question and is thus read-only
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *Wat is de wegverharding van dit pad?*
 | 
					The question is  *What surface does this road have?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [surface](https://wiki.openstreetmap.org/wiki/Key:surface) 
 | 
					This rendering asks information about the property  [surface](https://wiki.openstreetmap.org/wiki/Key:surface) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -125,14 +125,14 @@ This is rendered with  `The surface is <b>{surface}</b>`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *Is deze weg 's nachts verlicht?*
 | 
					The question is  *Is this road lit at night?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *'s nachts verlicht*  corresponds with  `lit=yes`
 | 
					  - *'s nachts verlicht*  corresponds with  `lit=yes`
 | 
				
			||||||
  - *Niet verlicht*  corresponds with  `lit=no`
 | 
					  - *Not lit*  corresponds with  `lit=no`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -482,7 +482,7 @@ This tagrendering is only visible in the popup if the following condition is met
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This tagrendering has no question and is thus read-only
 | 
					The question is  *Does this shop offer key cutting?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,7 +7,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Aangeduide wandeltochten
 | 
					Waymarked trails
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -89,11 +89,11 @@ This tagrendering has no question and is thus read-only
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *Wat is de naam van deze wandeling?*
 | 
					The question is  *What is the name of this trail?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [name](https://wiki.openstreetmap.org/wiki/Key:name) 
 | 
					This rendering asks information about the property  [name](https://wiki.openstreetmap.org/wiki/Key:name) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is rendered with  `Deze wandeling heet <b>{name}</b>`
 | 
					This is rendered with  `This trail is called <b>{name}</b>`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -103,18 +103,18 @@ This is rendered with  `Deze wandeling heet <b>{name}</b>`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *Wie beheert deze wandeltocht?*
 | 
					The question is  *Who maintains this trail?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [operator](https://wiki.openstreetmap.org/wiki/Key:operator) 
 | 
					This rendering asks information about the property  [operator](https://wiki.openstreetmap.org/wiki/Key:operator) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is rendered with  `Beheer door {operator}`
 | 
					This is rendered with  `This trail is maintained by {operator}`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *Dit gebied wordt beheerd door Natuurpunt*  corresponds with  `operator=Natuurpunt`
 | 
					  - *This trail is maintained by Natuurpunt*  corresponds with  `operator=Natuurpunt`
 | 
				
			||||||
  - *Dit gebied wordt beheerd door {operator}*  corresponds with  `operator~^((n|N)atuurpunt.*)$`
 | 
					  - *This trail is maintained by {operator}*  corresponds with  `operator~^((n|N)atuurpunt.*)$`
 | 
				
			||||||
  - This option cannot be chosen as answer
 | 
					  - This option cannot be chosen as answer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -124,11 +124,11 @@ This is rendered with  `Beheer door {operator}`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *Welke kleur heeft deze wandeling?*
 | 
					The question is  *What is the reference colour of this trail?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This rendering asks information about the property  [colour](https://wiki.openstreetmap.org/wiki/Key:colour) 
 | 
					This rendering asks information about the property  [colour](https://wiki.openstreetmap.org/wiki/Key:colour) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is rendered with  `Deze wandeling heeft kleur {colour}`
 | 
					This is rendered with  `The reference colour is {colour}`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -146,14 +146,14 @@ This is rendered with  `Deze wandeling heeft kleur {colour}`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *Is deze wandeling toegankelijk met de rolstoel?*
 | 
					The question is  *Is this trail wheelchair accessible?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *deze wandeltocht is toegankelijk met de rolstoel*  corresponds with  `wheelchair=yes`
 | 
					  - *This trail is wheelchair-accessible*  corresponds with  `wheelchair=yes`
 | 
				
			||||||
  - *deze wandeltocht is niet toegankelijk met de rolstoel*  corresponds with  `wheelchair=no`
 | 
					  - *This trail is not wheelchair accessible*  corresponds with  `wheelchair=no`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -162,14 +162,14 @@ The question is  *Is deze wandeling toegankelijk met de rolstoel?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The question is  *Is deze wandeltocht toegankelijk met de buggy?*
 | 
					The question is  *Is this trail accessible with a pushchair?*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *deze wandeltocht is toegankelijk met de buggy*  corresponds with  `pushchair=yes`
 | 
					  - *This trail is accessible with a pushchair*  corresponds with  `pushchair=yes`
 | 
				
			||||||
  - *deze wandeltocht is niet toegankelijk met de buggy*  corresponds with  `pushchair=no`
 | 
					  - *This trail is not accessible with a pushchair*  corresponds with  `pushchair=no`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -39,7 +39,7 @@
 | 
				
			||||||
              "description": "question: Which tags must be present on the feature to show it in this layer?\nEvery source must set which tags have to be present in order to load the given layer."
 | 
					              "description": "question: Which tags must be present on the feature to show it in this layer?\nEvery source must set which tags have to be present in order to load the given layer."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "maxCacheAge": {
 | 
					            "maxCacheAge": {
 | 
				
			||||||
              "description": "question: How long (in seconds) is the data allowed to remain cached until it must be refreshed?\nThe maximum amount of seconds that a tile is allowed to linger in the cache\n\ntype: nat\ndefault: 30 days",
 | 
					              "description": "question: How long (in seconds) is the data allowed to remain cached until it must be refreshed?\nThe maximum amount of seconds that a tile is allowed to linger in the cache\n\ntype: nat\ndefault: 30 days\ngroup: expert",
 | 
				
			||||||
              "type": "number"
 | 
					              "type": "number"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
| 
						 | 
					@ -59,7 +59,7 @@
 | 
				
			||||||
              "type": "number"
 | 
					              "type": "number"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "isOsmCache": {
 | 
					            "isOsmCache": {
 | 
				
			||||||
              "description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache.\nThis also indicates that making changes on this data is possible\n\nquestion: Is this geojson a cache of OpenStreetMap data?\nifunset: This is not an OpenStreetMap cache\niftrue: this is based on OpenStreetMap and can thus be edited",
 | 
					              "description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache.\nThis also indicates that making changes on this data is possible\n\nquestion: Is this geojson a cache of OpenStreetMap data?\nifunset: This is not an OpenStreetMap cache\niftrue: this is based on OpenStreetMap and can thus be edited\ngroup: expert",
 | 
				
			||||||
              "type": "boolean"
 | 
					              "type": "boolean"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "mercatorCrs": {
 | 
					            "mercatorCrs": {
 | 
				
			||||||
| 
						 | 
					@ -680,7 +680,7 @@
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -715,10 +715,7 @@
 | 
				
			||||||
              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
					              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "mappings": {
 | 
					        "mappings": {
 | 
				
			||||||
          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
					          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
				
			||||||
| 
						 | 
					@ -742,7 +739,7 @@
 | 
				
			||||||
                ]
 | 
					                ]
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
              "icon": {
 | 
					              "icon": {
 | 
				
			||||||
                "description": "question: What icon should be added to this mapping?\nAn icon supporting this mapping; typically shown pretty small\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
					                "description": "question: What icon should be added to this mapping?\nifunset: Do not show an extra icon next to the render value\n\nAn icon supporting this mapping; typically shown pretty small.\nThis can be used to show a 'phone'-icon next to the phone number\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
				
			||||||
                "anyOf": [
 | 
					                "anyOf": [
 | 
				
			||||||
                  {
 | 
					                  {
 | 
				
			||||||
                    "type": "object",
 | 
					                    "type": "object",
 | 
				
			||||||
| 
						 | 
					@ -868,7 +865,7 @@
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "addExtraTags": {
 | 
					        "addExtraTags": {
 | 
				
			||||||
          "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag[]\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
					          "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
				
			||||||
          "type": "array",
 | 
					          "type": "array",
 | 
				
			||||||
          "items": {
 | 
					          "items": {
 | 
				
			||||||
            "type": "string"
 | 
					            "type": "string"
 | 
				
			||||||
| 
						 | 
					@ -1177,7 +1174,7 @@
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "placeholder": {
 | 
					            "placeholder": {
 | 
				
			||||||
              "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation",
 | 
					              "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation\ngroup: expert",
 | 
				
			||||||
              "anyOf": [
 | 
					              "anyOf": [
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                  "$ref": "#/definitions/Record<string,string>"
 | 
					                  "$ref": "#/definitions/Record<string,string>"
 | 
				
			||||||
| 
						 | 
					@ -1188,27 +1185,27 @@
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "helperArgs": {
 | 
					            "helperArgs": {
 | 
				
			||||||
              "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'",
 | 
					              "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
 | 
				
			||||||
              "type": "array",
 | 
					              "type": "array",
 | 
				
			||||||
              "items": {}
 | 
					              "items": {}
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "addExtraTags": {
 | 
					            "addExtraTags": {
 | 
				
			||||||
              "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'",
 | 
					              "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
 | 
				
			||||||
              "type": "array",
 | 
					              "type": "array",
 | 
				
			||||||
              "items": {
 | 
					              "items": {
 | 
				
			||||||
                "type": "string"
 | 
					                "type": "string"
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "inline": {
 | 
					            "inline": {
 | 
				
			||||||
              "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question",
 | 
					              "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question\ngroup: expert",
 | 
				
			||||||
              "type": "boolean"
 | 
					              "type": "boolean"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "default": {
 | 
					            "default": {
 | 
				
			||||||
              "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield",
 | 
					              "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield\ngroup: expert",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "invalidValues": {
 | 
					            "invalidValues": {
 | 
				
			||||||
              "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key",
 | 
					              "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key\ngroup: expert",
 | 
				
			||||||
              "anyOf": [
 | 
					              "anyOf": [
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                  "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					                  "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -1221,10 +1218,7 @@
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "question": {
 | 
					        "question": {
 | 
				
			||||||
          "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
					          "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
				
			||||||
| 
						 | 
					@ -1317,7 +1311,7 @@
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -1395,7 +1389,7 @@
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "placeholder": {
 | 
					            "placeholder": {
 | 
				
			||||||
              "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation",
 | 
					              "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation\ngroup: expert",
 | 
				
			||||||
              "anyOf": [
 | 
					              "anyOf": [
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                  "$ref": "#/definitions/Record<string,string>"
 | 
					                  "$ref": "#/definitions/Record<string,string>"
 | 
				
			||||||
| 
						 | 
					@ -1406,27 +1400,27 @@
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "helperArgs": {
 | 
					            "helperArgs": {
 | 
				
			||||||
              "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'",
 | 
					              "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
 | 
				
			||||||
              "type": "array",
 | 
					              "type": "array",
 | 
				
			||||||
              "items": {}
 | 
					              "items": {}
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "addExtraTags": {
 | 
					            "addExtraTags": {
 | 
				
			||||||
              "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'",
 | 
					              "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
 | 
				
			||||||
              "type": "array",
 | 
					              "type": "array",
 | 
				
			||||||
              "items": {
 | 
					              "items": {
 | 
				
			||||||
                "type": "string"
 | 
					                "type": "string"
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "inline": {
 | 
					            "inline": {
 | 
				
			||||||
              "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question",
 | 
					              "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question\ngroup: expert",
 | 
				
			||||||
              "type": "boolean"
 | 
					              "type": "boolean"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "default": {
 | 
					            "default": {
 | 
				
			||||||
              "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield",
 | 
					              "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield\ngroup: expert",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "invalidValues": {
 | 
					            "invalidValues": {
 | 
				
			||||||
              "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key",
 | 
					              "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key\ngroup: expert",
 | 
				
			||||||
              "anyOf": [
 | 
					              "anyOf": [
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                  "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					                  "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -1439,10 +1433,7 @@
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "question": {
 | 
					        "question": {
 | 
				
			||||||
          "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
					          "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
				
			||||||
| 
						 | 
					@ -1535,7 +1526,7 @@
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -39,7 +39,7 @@ export default {
 | 
				
			||||||
              "description": "question: Which tags must be present on the feature to show it in this layer?\nEvery source must set which tags have to be present in order to load the given layer."
 | 
					              "description": "question: Which tags must be present on the feature to show it in this layer?\nEvery source must set which tags have to be present in order to load the given layer."
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "maxCacheAge": {
 | 
					            "maxCacheAge": {
 | 
				
			||||||
              "description": "question: How long (in seconds) is the data allowed to remain cached until it must be refreshed?\nThe maximum amount of seconds that a tile is allowed to linger in the cache\n\ntype: nat\ndefault: 30 days",
 | 
					              "description": "question: How long (in seconds) is the data allowed to remain cached until it must be refreshed?\nThe maximum amount of seconds that a tile is allowed to linger in the cache\n\ntype: nat\ndefault: 30 days\ngroup: expert",
 | 
				
			||||||
              "type": "number"
 | 
					              "type": "number"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
| 
						 | 
					@ -59,7 +59,7 @@ export default {
 | 
				
			||||||
              "type": "number"
 | 
					              "type": "number"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "isOsmCache": {
 | 
					            "isOsmCache": {
 | 
				
			||||||
              "description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache.\nThis also indicates that making changes on this data is possible\n\nquestion: Is this geojson a cache of OpenStreetMap data?\nifunset: This is not an OpenStreetMap cache\niftrue: this is based on OpenStreetMap and can thus be edited",
 | 
					              "description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache.\nThis also indicates that making changes on this data is possible\n\nquestion: Is this geojson a cache of OpenStreetMap data?\nifunset: This is not an OpenStreetMap cache\niftrue: this is based on OpenStreetMap and can thus be edited\ngroup: expert",
 | 
				
			||||||
              "type": "boolean"
 | 
					              "type": "boolean"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "mercatorCrs": {
 | 
					            "mercatorCrs": {
 | 
				
			||||||
| 
						 | 
					@ -673,7 +673,7 @@ export default {
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -708,10 +708,7 @@ export default {
 | 
				
			||||||
              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
					              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "mappings": {
 | 
					        "mappings": {
 | 
				
			||||||
          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
					          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
				
			||||||
| 
						 | 
					@ -735,7 +732,7 @@ export default {
 | 
				
			||||||
                ]
 | 
					                ]
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
              "icon": {
 | 
					              "icon": {
 | 
				
			||||||
                "description": "question: What icon should be added to this mapping?\nAn icon supporting this mapping; typically shown pretty small\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
					                "description": "question: What icon should be added to this mapping?\nifunset: Do not show an extra icon next to the render value\n\nAn icon supporting this mapping; typically shown pretty small.\nThis can be used to show a 'phone'-icon next to the phone number\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
				
			||||||
                "anyOf": [
 | 
					                "anyOf": [
 | 
				
			||||||
                  {
 | 
					                  {
 | 
				
			||||||
                    "type": "object",
 | 
					                    "type": "object",
 | 
				
			||||||
| 
						 | 
					@ -859,7 +856,7 @@ export default {
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "addExtraTags": {
 | 
					        "addExtraTags": {
 | 
				
			||||||
          "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag[]\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
					          "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
				
			||||||
          "type": "array",
 | 
					          "type": "array",
 | 
				
			||||||
          "items": {
 | 
					          "items": {
 | 
				
			||||||
            "type": "string"
 | 
					            "type": "string"
 | 
				
			||||||
| 
						 | 
					@ -1164,7 +1161,7 @@ export default {
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "placeholder": {
 | 
					            "placeholder": {
 | 
				
			||||||
              "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation",
 | 
					              "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation\ngroup: expert",
 | 
				
			||||||
              "anyOf": [
 | 
					              "anyOf": [
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                  "$ref": "#/definitions/Record<string,string>"
 | 
					                  "$ref": "#/definitions/Record<string,string>"
 | 
				
			||||||
| 
						 | 
					@ -1175,27 +1172,27 @@ export default {
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "helperArgs": {
 | 
					            "helperArgs": {
 | 
				
			||||||
              "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'",
 | 
					              "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
 | 
				
			||||||
              "type": "array",
 | 
					              "type": "array",
 | 
				
			||||||
              "items": {}
 | 
					              "items": {}
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "addExtraTags": {
 | 
					            "addExtraTags": {
 | 
				
			||||||
              "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'",
 | 
					              "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
 | 
				
			||||||
              "type": "array",
 | 
					              "type": "array",
 | 
				
			||||||
              "items": {
 | 
					              "items": {
 | 
				
			||||||
                "type": "string"
 | 
					                "type": "string"
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "inline": {
 | 
					            "inline": {
 | 
				
			||||||
              "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question",
 | 
					              "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question\ngroup: expert",
 | 
				
			||||||
              "type": "boolean"
 | 
					              "type": "boolean"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "default": {
 | 
					            "default": {
 | 
				
			||||||
              "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield",
 | 
					              "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield\ngroup: expert",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "invalidValues": {
 | 
					            "invalidValues": {
 | 
				
			||||||
              "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key",
 | 
					              "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key\ngroup: expert",
 | 
				
			||||||
              "anyOf": [
 | 
					              "anyOf": [
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                  "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					                  "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -1208,10 +1205,7 @@ export default {
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "question": {
 | 
					        "question": {
 | 
				
			||||||
          "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
					          "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
				
			||||||
| 
						 | 
					@ -1304,7 +1298,7 @@ export default {
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -1381,7 +1375,7 @@ export default {
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "placeholder": {
 | 
					            "placeholder": {
 | 
				
			||||||
              "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation",
 | 
					              "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation\ngroup: expert",
 | 
				
			||||||
              "anyOf": [
 | 
					              "anyOf": [
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                  "$ref": "#/definitions/Record<string,string>"
 | 
					                  "$ref": "#/definitions/Record<string,string>"
 | 
				
			||||||
| 
						 | 
					@ -1392,27 +1386,27 @@ export default {
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "helperArgs": {
 | 
					            "helperArgs": {
 | 
				
			||||||
              "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'",
 | 
					              "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
 | 
				
			||||||
              "type": "array",
 | 
					              "type": "array",
 | 
				
			||||||
              "items": {}
 | 
					              "items": {}
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "addExtraTags": {
 | 
					            "addExtraTags": {
 | 
				
			||||||
              "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'",
 | 
					              "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
 | 
				
			||||||
              "type": "array",
 | 
					              "type": "array",
 | 
				
			||||||
              "items": {
 | 
					              "items": {
 | 
				
			||||||
                "type": "string"
 | 
					                "type": "string"
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "inline": {
 | 
					            "inline": {
 | 
				
			||||||
              "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question",
 | 
					              "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question\ngroup: expert",
 | 
				
			||||||
              "type": "boolean"
 | 
					              "type": "boolean"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "default": {
 | 
					            "default": {
 | 
				
			||||||
              "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield",
 | 
					              "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield\ngroup: expert",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "invalidValues": {
 | 
					            "invalidValues": {
 | 
				
			||||||
              "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key",
 | 
					              "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key\ngroup: expert",
 | 
				
			||||||
              "anyOf": [
 | 
					              "anyOf": [
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                  "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					                  "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -1425,10 +1419,7 @@ export default {
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "question": {
 | 
					        "question": {
 | 
				
			||||||
          "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
					          "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
				
			||||||
| 
						 | 
					@ -1521,7 +1512,7 @@ export default {
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -592,7 +592,7 @@
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -627,10 +627,7 @@
 | 
				
			||||||
              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
					              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "mappings": {
 | 
					        "mappings": {
 | 
				
			||||||
          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
					          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
				
			||||||
| 
						 | 
					@ -654,7 +651,7 @@
 | 
				
			||||||
                ]
 | 
					                ]
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
              "icon": {
 | 
					              "icon": {
 | 
				
			||||||
                "description": "question: What icon should be added to this mapping?\nAn icon supporting this mapping; typically shown pretty small\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
					                "description": "question: What icon should be added to this mapping?\nifunset: Do not show an extra icon next to the render value\n\nAn icon supporting this mapping; typically shown pretty small.\nThis can be used to show a 'phone'-icon next to the phone number\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
				
			||||||
                "anyOf": [
 | 
					                "anyOf": [
 | 
				
			||||||
                  {
 | 
					                  {
 | 
				
			||||||
                    "type": "object",
 | 
					                    "type": "object",
 | 
				
			||||||
| 
						 | 
					@ -780,7 +777,7 @@
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "addExtraTags": {
 | 
					        "addExtraTags": {
 | 
				
			||||||
          "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag[]\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
					          "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
				
			||||||
          "type": "array",
 | 
					          "type": "array",
 | 
				
			||||||
          "items": {
 | 
					          "items": {
 | 
				
			||||||
            "type": "string"
 | 
					            "type": "string"
 | 
				
			||||||
| 
						 | 
					@ -1089,7 +1086,7 @@
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "placeholder": {
 | 
					            "placeholder": {
 | 
				
			||||||
              "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation",
 | 
					              "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation\ngroup: expert",
 | 
				
			||||||
              "anyOf": [
 | 
					              "anyOf": [
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                  "$ref": "#/definitions/Record<string,string>"
 | 
					                  "$ref": "#/definitions/Record<string,string>"
 | 
				
			||||||
| 
						 | 
					@ -1100,27 +1097,27 @@
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "helperArgs": {
 | 
					            "helperArgs": {
 | 
				
			||||||
              "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'",
 | 
					              "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
 | 
				
			||||||
              "type": "array",
 | 
					              "type": "array",
 | 
				
			||||||
              "items": {}
 | 
					              "items": {}
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "addExtraTags": {
 | 
					            "addExtraTags": {
 | 
				
			||||||
              "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'",
 | 
					              "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
 | 
				
			||||||
              "type": "array",
 | 
					              "type": "array",
 | 
				
			||||||
              "items": {
 | 
					              "items": {
 | 
				
			||||||
                "type": "string"
 | 
					                "type": "string"
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "inline": {
 | 
					            "inline": {
 | 
				
			||||||
              "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question",
 | 
					              "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question\ngroup: expert",
 | 
				
			||||||
              "type": "boolean"
 | 
					              "type": "boolean"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "default": {
 | 
					            "default": {
 | 
				
			||||||
              "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield",
 | 
					              "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield\ngroup: expert",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "invalidValues": {
 | 
					            "invalidValues": {
 | 
				
			||||||
              "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key",
 | 
					              "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key\ngroup: expert",
 | 
				
			||||||
              "anyOf": [
 | 
					              "anyOf": [
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                  "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					                  "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -1133,10 +1130,7 @@
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "question": {
 | 
					        "question": {
 | 
				
			||||||
          "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
					          "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
				
			||||||
| 
						 | 
					@ -1229,7 +1223,7 @@
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -1307,7 +1301,7 @@
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "placeholder": {
 | 
					            "placeholder": {
 | 
				
			||||||
              "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation",
 | 
					              "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation\ngroup: expert",
 | 
				
			||||||
              "anyOf": [
 | 
					              "anyOf": [
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                  "$ref": "#/definitions/Record<string,string>"
 | 
					                  "$ref": "#/definitions/Record<string,string>"
 | 
				
			||||||
| 
						 | 
					@ -1318,27 +1312,27 @@
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "helperArgs": {
 | 
					            "helperArgs": {
 | 
				
			||||||
              "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'",
 | 
					              "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
 | 
				
			||||||
              "type": "array",
 | 
					              "type": "array",
 | 
				
			||||||
              "items": {}
 | 
					              "items": {}
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "addExtraTags": {
 | 
					            "addExtraTags": {
 | 
				
			||||||
              "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'",
 | 
					              "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
 | 
				
			||||||
              "type": "array",
 | 
					              "type": "array",
 | 
				
			||||||
              "items": {
 | 
					              "items": {
 | 
				
			||||||
                "type": "string"
 | 
					                "type": "string"
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "inline": {
 | 
					            "inline": {
 | 
				
			||||||
              "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question",
 | 
					              "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question\ngroup: expert",
 | 
				
			||||||
              "type": "boolean"
 | 
					              "type": "boolean"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "default": {
 | 
					            "default": {
 | 
				
			||||||
              "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield",
 | 
					              "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield\ngroup: expert",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "invalidValues": {
 | 
					            "invalidValues": {
 | 
				
			||||||
              "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key",
 | 
					              "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key\ngroup: expert",
 | 
				
			||||||
              "anyOf": [
 | 
					              "anyOf": [
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                  "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					                  "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -1351,10 +1345,7 @@
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "question": {
 | 
					        "question": {
 | 
				
			||||||
          "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
					          "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
				
			||||||
| 
						 | 
					@ -1447,7 +1438,7 @@
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -1820,7 +1811,7 @@
 | 
				
			||||||
                  "description": "question: Which tags must be present on the feature to show it in this layer?\nEvery source must set which tags have to be present in order to load the given layer."
 | 
					                  "description": "question: Which tags must be present on the feature to show it in this layer?\nEvery source must set which tags have to be present in order to load the given layer."
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "maxCacheAge": {
 | 
					                "maxCacheAge": {
 | 
				
			||||||
                  "description": "question: How long (in seconds) is the data allowed to remain cached until it must be refreshed?\nThe maximum amount of seconds that a tile is allowed to linger in the cache\n\ntype: nat\ndefault: 30 days",
 | 
					                  "description": "question: How long (in seconds) is the data allowed to remain cached until it must be refreshed?\nThe maximum amount of seconds that a tile is allowed to linger in the cache\n\ntype: nat\ndefault: 30 days\ngroup: expert",
 | 
				
			||||||
                  "type": "number"
 | 
					                  "type": "number"
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
| 
						 | 
					@ -1840,7 +1831,7 @@
 | 
				
			||||||
                  "type": "number"
 | 
					                  "type": "number"
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "isOsmCache": {
 | 
					                "isOsmCache": {
 | 
				
			||||||
                  "description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache.\nThis also indicates that making changes on this data is possible\n\nquestion: Is this geojson a cache of OpenStreetMap data?\nifunset: This is not an OpenStreetMap cache\niftrue: this is based on OpenStreetMap and can thus be edited",
 | 
					                  "description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache.\nThis also indicates that making changes on this data is possible\n\nquestion: Is this geojson a cache of OpenStreetMap data?\nifunset: This is not an OpenStreetMap cache\niftrue: this is based on OpenStreetMap and can thus be edited\ngroup: expert",
 | 
				
			||||||
                  "type": "boolean"
 | 
					                  "type": "boolean"
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "mercatorCrs": {
 | 
					                "mercatorCrs": {
 | 
				
			||||||
| 
						 | 
					@ -2220,7 +2211,7 @@
 | 
				
			||||||
                  "description": "question: Which tags must be present on the feature to show it in this layer?\nEvery source must set which tags have to be present in order to load the given layer."
 | 
					                  "description": "question: Which tags must be present on the feature to show it in this layer?\nEvery source must set which tags have to be present in order to load the given layer."
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "maxCacheAge": {
 | 
					                "maxCacheAge": {
 | 
				
			||||||
                  "description": "question: How long (in seconds) is the data allowed to remain cached until it must be refreshed?\nThe maximum amount of seconds that a tile is allowed to linger in the cache\n\ntype: nat\ndefault: 30 days",
 | 
					                  "description": "question: How long (in seconds) is the data allowed to remain cached until it must be refreshed?\nThe maximum amount of seconds that a tile is allowed to linger in the cache\n\ntype: nat\ndefault: 30 days\ngroup: expert",
 | 
				
			||||||
                  "type": "number"
 | 
					                  "type": "number"
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
| 
						 | 
					@ -2240,7 +2231,7 @@
 | 
				
			||||||
                  "type": "number"
 | 
					                  "type": "number"
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "isOsmCache": {
 | 
					                "isOsmCache": {
 | 
				
			||||||
                  "description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache.\nThis also indicates that making changes on this data is possible\n\nquestion: Is this geojson a cache of OpenStreetMap data?\nifunset: This is not an OpenStreetMap cache\niftrue: this is based on OpenStreetMap and can thus be edited",
 | 
					                  "description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache.\nThis also indicates that making changes on this data is possible\n\nquestion: Is this geojson a cache of OpenStreetMap data?\nifunset: This is not an OpenStreetMap cache\niftrue: this is based on OpenStreetMap and can thus be edited\ngroup: expert",
 | 
				
			||||||
                  "type": "boolean"
 | 
					                  "type": "boolean"
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "mercatorCrs": {
 | 
					                "mercatorCrs": {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -585,7 +585,7 @@ export default {
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -620,10 +620,7 @@ export default {
 | 
				
			||||||
              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
					              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "mappings": {
 | 
					        "mappings": {
 | 
				
			||||||
          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
					          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
				
			||||||
| 
						 | 
					@ -647,7 +644,7 @@ export default {
 | 
				
			||||||
                ]
 | 
					                ]
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
              "icon": {
 | 
					              "icon": {
 | 
				
			||||||
                "description": "question: What icon should be added to this mapping?\nAn icon supporting this mapping; typically shown pretty small\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
					                "description": "question: What icon should be added to this mapping?\nifunset: Do not show an extra icon next to the render value\n\nAn icon supporting this mapping; typically shown pretty small.\nThis can be used to show a 'phone'-icon next to the phone number\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
				
			||||||
                "anyOf": [
 | 
					                "anyOf": [
 | 
				
			||||||
                  {
 | 
					                  {
 | 
				
			||||||
                    "type": "object",
 | 
					                    "type": "object",
 | 
				
			||||||
| 
						 | 
					@ -771,7 +768,7 @@ export default {
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "addExtraTags": {
 | 
					        "addExtraTags": {
 | 
				
			||||||
          "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag[]\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
					          "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
				
			||||||
          "type": "array",
 | 
					          "type": "array",
 | 
				
			||||||
          "items": {
 | 
					          "items": {
 | 
				
			||||||
            "type": "string"
 | 
					            "type": "string"
 | 
				
			||||||
| 
						 | 
					@ -1076,7 +1073,7 @@ export default {
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "placeholder": {
 | 
					            "placeholder": {
 | 
				
			||||||
              "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation",
 | 
					              "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation\ngroup: expert",
 | 
				
			||||||
              "anyOf": [
 | 
					              "anyOf": [
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                  "$ref": "#/definitions/Record<string,string>"
 | 
					                  "$ref": "#/definitions/Record<string,string>"
 | 
				
			||||||
| 
						 | 
					@ -1087,27 +1084,27 @@ export default {
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "helperArgs": {
 | 
					            "helperArgs": {
 | 
				
			||||||
              "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'",
 | 
					              "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
 | 
				
			||||||
              "type": "array",
 | 
					              "type": "array",
 | 
				
			||||||
              "items": {}
 | 
					              "items": {}
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "addExtraTags": {
 | 
					            "addExtraTags": {
 | 
				
			||||||
              "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'",
 | 
					              "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
 | 
				
			||||||
              "type": "array",
 | 
					              "type": "array",
 | 
				
			||||||
              "items": {
 | 
					              "items": {
 | 
				
			||||||
                "type": "string"
 | 
					                "type": "string"
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "inline": {
 | 
					            "inline": {
 | 
				
			||||||
              "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question",
 | 
					              "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question\ngroup: expert",
 | 
				
			||||||
              "type": "boolean"
 | 
					              "type": "boolean"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "default": {
 | 
					            "default": {
 | 
				
			||||||
              "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield",
 | 
					              "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield\ngroup: expert",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "invalidValues": {
 | 
					            "invalidValues": {
 | 
				
			||||||
              "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key",
 | 
					              "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key\ngroup: expert",
 | 
				
			||||||
              "anyOf": [
 | 
					              "anyOf": [
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                  "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					                  "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -1120,10 +1117,7 @@ export default {
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "question": {
 | 
					        "question": {
 | 
				
			||||||
          "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
					          "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
				
			||||||
| 
						 | 
					@ -1216,7 +1210,7 @@ export default {
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -1293,7 +1287,7 @@ export default {
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "placeholder": {
 | 
					            "placeholder": {
 | 
				
			||||||
              "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation",
 | 
					              "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation\ngroup: expert",
 | 
				
			||||||
              "anyOf": [
 | 
					              "anyOf": [
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                  "$ref": "#/definitions/Record<string,string>"
 | 
					                  "$ref": "#/definitions/Record<string,string>"
 | 
				
			||||||
| 
						 | 
					@ -1304,27 +1298,27 @@ export default {
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "helperArgs": {
 | 
					            "helperArgs": {
 | 
				
			||||||
              "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'",
 | 
					              "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
 | 
				
			||||||
              "type": "array",
 | 
					              "type": "array",
 | 
				
			||||||
              "items": {}
 | 
					              "items": {}
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "addExtraTags": {
 | 
					            "addExtraTags": {
 | 
				
			||||||
              "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'",
 | 
					              "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
 | 
				
			||||||
              "type": "array",
 | 
					              "type": "array",
 | 
				
			||||||
              "items": {
 | 
					              "items": {
 | 
				
			||||||
                "type": "string"
 | 
					                "type": "string"
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "inline": {
 | 
					            "inline": {
 | 
				
			||||||
              "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question",
 | 
					              "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question\ngroup: expert",
 | 
				
			||||||
              "type": "boolean"
 | 
					              "type": "boolean"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "default": {
 | 
					            "default": {
 | 
				
			||||||
              "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield",
 | 
					              "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield\ngroup: expert",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "invalidValues": {
 | 
					            "invalidValues": {
 | 
				
			||||||
              "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key",
 | 
					              "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key\ngroup: expert",
 | 
				
			||||||
              "anyOf": [
 | 
					              "anyOf": [
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                  "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					                  "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -1337,10 +1331,7 @@ export default {
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "question": {
 | 
					        "question": {
 | 
				
			||||||
          "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
					          "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
				
			||||||
| 
						 | 
					@ -1433,7 +1424,7 @@ export default {
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -1799,7 +1790,7 @@ export default {
 | 
				
			||||||
                  "description": "question: Which tags must be present on the feature to show it in this layer?\nEvery source must set which tags have to be present in order to load the given layer."
 | 
					                  "description": "question: Which tags must be present on the feature to show it in this layer?\nEvery source must set which tags have to be present in order to load the given layer."
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "maxCacheAge": {
 | 
					                "maxCacheAge": {
 | 
				
			||||||
                  "description": "question: How long (in seconds) is the data allowed to remain cached until it must be refreshed?\nThe maximum amount of seconds that a tile is allowed to linger in the cache\n\ntype: nat\ndefault: 30 days",
 | 
					                  "description": "question: How long (in seconds) is the data allowed to remain cached until it must be refreshed?\nThe maximum amount of seconds that a tile is allowed to linger in the cache\n\ntype: nat\ndefault: 30 days\ngroup: expert",
 | 
				
			||||||
                  "type": "number"
 | 
					                  "type": "number"
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
| 
						 | 
					@ -1819,7 +1810,7 @@ export default {
 | 
				
			||||||
                  "type": "number"
 | 
					                  "type": "number"
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "isOsmCache": {
 | 
					                "isOsmCache": {
 | 
				
			||||||
                  "description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache.\nThis also indicates that making changes on this data is possible\n\nquestion: Is this geojson a cache of OpenStreetMap data?\nifunset: This is not an OpenStreetMap cache\niftrue: this is based on OpenStreetMap and can thus be edited",
 | 
					                  "description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache.\nThis also indicates that making changes on this data is possible\n\nquestion: Is this geojson a cache of OpenStreetMap data?\nifunset: This is not an OpenStreetMap cache\niftrue: this is based on OpenStreetMap and can thus be edited\ngroup: expert",
 | 
				
			||||||
                  "type": "boolean"
 | 
					                  "type": "boolean"
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "mercatorCrs": {
 | 
					                "mercatorCrs": {
 | 
				
			||||||
| 
						 | 
					@ -2198,7 +2189,7 @@ export default {
 | 
				
			||||||
                  "description": "question: Which tags must be present on the feature to show it in this layer?\nEvery source must set which tags have to be present in order to load the given layer."
 | 
					                  "description": "question: Which tags must be present on the feature to show it in this layer?\nEvery source must set which tags have to be present in order to load the given layer."
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "maxCacheAge": {
 | 
					                "maxCacheAge": {
 | 
				
			||||||
                  "description": "question: How long (in seconds) is the data allowed to remain cached until it must be refreshed?\nThe maximum amount of seconds that a tile is allowed to linger in the cache\n\ntype: nat\ndefault: 30 days",
 | 
					                  "description": "question: How long (in seconds) is the data allowed to remain cached until it must be refreshed?\nThe maximum amount of seconds that a tile is allowed to linger in the cache\n\ntype: nat\ndefault: 30 days\ngroup: expert",
 | 
				
			||||||
                  "type": "number"
 | 
					                  "type": "number"
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
| 
						 | 
					@ -2218,7 +2209,7 @@ export default {
 | 
				
			||||||
                  "type": "number"
 | 
					                  "type": "number"
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "isOsmCache": {
 | 
					                "isOsmCache": {
 | 
				
			||||||
                  "description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache.\nThis also indicates that making changes on this data is possible\n\nquestion: Is this geojson a cache of OpenStreetMap data?\nifunset: This is not an OpenStreetMap cache\niftrue: this is based on OpenStreetMap and can thus be edited",
 | 
					                  "description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache.\nThis also indicates that making changes on this data is possible\n\nquestion: Is this geojson a cache of OpenStreetMap data?\nifunset: This is not an OpenStreetMap cache\niftrue: this is based on OpenStreetMap and can thus be edited\ngroup: expert",
 | 
				
			||||||
                  "type": "boolean"
 | 
					                  "type": "boolean"
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "mercatorCrs": {
 | 
					                "mercatorCrs": {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -348,7 +348,7 @@
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -383,10 +383,7 @@
 | 
				
			||||||
              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
					              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "mappings": {
 | 
					        "mappings": {
 | 
				
			||||||
          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
					          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
				
			||||||
| 
						 | 
					@ -410,7 +407,7 @@
 | 
				
			||||||
                ]
 | 
					                ]
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
              "icon": {
 | 
					              "icon": {
 | 
				
			||||||
                "description": "question: What icon should be added to this mapping?\nAn icon supporting this mapping; typically shown pretty small\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
					                "description": "question: What icon should be added to this mapping?\nifunset: Do not show an extra icon next to the render value\n\nAn icon supporting this mapping; typically shown pretty small.\nThis can be used to show a 'phone'-icon next to the phone number\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
				
			||||||
                "anyOf": [
 | 
					                "anyOf": [
 | 
				
			||||||
                  {
 | 
					                  {
 | 
				
			||||||
                    "type": "object",
 | 
					                    "type": "object",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -341,7 +341,7 @@ export default {
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -376,10 +376,7 @@ export default {
 | 
				
			||||||
              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
					              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "mappings": {
 | 
					        "mappings": {
 | 
				
			||||||
          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
					          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
				
			||||||
| 
						 | 
					@ -403,7 +400,7 @@ export default {
 | 
				
			||||||
                ]
 | 
					                ]
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
              "icon": {
 | 
					              "icon": {
 | 
				
			||||||
                "description": "question: What icon should be added to this mapping?\nAn icon supporting this mapping; typically shown pretty small\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
					                "description": "question: What icon should be added to this mapping?\nifunset: Do not show an extra icon next to the render value\n\nAn icon supporting this mapping; typically shown pretty small.\nThis can be used to show a 'phone'-icon next to the phone number\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
				
			||||||
                "anyOf": [
 | 
					                "anyOf": [
 | 
				
			||||||
                  {
 | 
					                  {
 | 
				
			||||||
                    "type": "object",
 | 
					                    "type": "object",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -72,7 +72,7 @@
 | 
				
			||||||
      ]
 | 
					      ]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "addExtraTags": {
 | 
					    "addExtraTags": {
 | 
				
			||||||
      "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag[]\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
					      "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
				
			||||||
      "type": "array",
 | 
					      "type": "array",
 | 
				
			||||||
      "items": {
 | 
					      "items": {
 | 
				
			||||||
        "type": "string"
 | 
					        "type": "string"
 | 
				
			||||||
| 
						 | 
					@ -388,7 +388,7 @@
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -423,10 +423,7 @@
 | 
				
			||||||
              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
					              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "mappings": {
 | 
					        "mappings": {
 | 
				
			||||||
          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
					          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
				
			||||||
| 
						 | 
					@ -450,7 +447,7 @@
 | 
				
			||||||
                ]
 | 
					                ]
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
              "icon": {
 | 
					              "icon": {
 | 
				
			||||||
                "description": "question: What icon should be added to this mapping?\nAn icon supporting this mapping; typically shown pretty small\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
					                "description": "question: What icon should be added to this mapping?\nifunset: Do not show an extra icon next to the render value\n\nAn icon supporting this mapping; typically shown pretty small.\nThis can be used to show a 'phone'-icon next to the phone number\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
				
			||||||
                "anyOf": [
 | 
					                "anyOf": [
 | 
				
			||||||
                  {
 | 
					                  {
 | 
				
			||||||
                    "type": "object",
 | 
					                    "type": "object",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -72,7 +72,7 @@ export default {
 | 
				
			||||||
      ]
 | 
					      ]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "addExtraTags": {
 | 
					    "addExtraTags": {
 | 
				
			||||||
      "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag[]\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
					      "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
				
			||||||
      "type": "array",
 | 
					      "type": "array",
 | 
				
			||||||
      "items": {
 | 
					      "items": {
 | 
				
			||||||
        "type": "string"
 | 
					        "type": "string"
 | 
				
			||||||
| 
						 | 
					@ -381,7 +381,7 @@ export default {
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -416,10 +416,7 @@ export default {
 | 
				
			||||||
              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
					              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "mappings": {
 | 
					        "mappings": {
 | 
				
			||||||
          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
					          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
				
			||||||
| 
						 | 
					@ -443,7 +440,7 @@ export default {
 | 
				
			||||||
                ]
 | 
					                ]
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
              "icon": {
 | 
					              "icon": {
 | 
				
			||||||
                "description": "question: What icon should be added to this mapping?\nAn icon supporting this mapping; typically shown pretty small\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
					                "description": "question: What icon should be added to this mapping?\nifunset: Do not show an extra icon next to the render value\n\nAn icon supporting this mapping; typically shown pretty small.\nThis can be used to show a 'phone'-icon next to the phone number\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
				
			||||||
                "anyOf": [
 | 
					                "anyOf": [
 | 
				
			||||||
                  {
 | 
					                  {
 | 
				
			||||||
                    "type": "object",
 | 
					                    "type": "object",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -449,7 +449,7 @@
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -484,10 +484,7 @@
 | 
				
			||||||
              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
					              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "mappings": {
 | 
					        "mappings": {
 | 
				
			||||||
          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
					          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
				
			||||||
| 
						 | 
					@ -511,7 +508,7 @@
 | 
				
			||||||
                ]
 | 
					                ]
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
              "icon": {
 | 
					              "icon": {
 | 
				
			||||||
                "description": "question: What icon should be added to this mapping?\nAn icon supporting this mapping; typically shown pretty small\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
					                "description": "question: What icon should be added to this mapping?\nifunset: Do not show an extra icon next to the render value\n\nAn icon supporting this mapping; typically shown pretty small.\nThis can be used to show a 'phone'-icon next to the phone number\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
				
			||||||
                "anyOf": [
 | 
					                "anyOf": [
 | 
				
			||||||
                  {
 | 
					                  {
 | 
				
			||||||
                    "type": "object",
 | 
					                    "type": "object",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -442,7 +442,7 @@ export default {
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -477,10 +477,7 @@ export default {
 | 
				
			||||||
              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
					              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "mappings": {
 | 
					        "mappings": {
 | 
				
			||||||
          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
					          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
				
			||||||
| 
						 | 
					@ -504,7 +501,7 @@ export default {
 | 
				
			||||||
                ]
 | 
					                ]
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
              "icon": {
 | 
					              "icon": {
 | 
				
			||||||
                "description": "question: What icon should be added to this mapping?\nAn icon supporting this mapping; typically shown pretty small\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
					                "description": "question: What icon should be added to this mapping?\nifunset: Do not show an extra icon next to the render value\n\nAn icon supporting this mapping; typically shown pretty small.\nThis can be used to show a 'phone'-icon next to the phone number\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
				
			||||||
                "anyOf": [
 | 
					                "anyOf": [
 | 
				
			||||||
                  {
 | 
					                  {
 | 
				
			||||||
                    "type": "object",
 | 
					                    "type": "object",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,7 +29,7 @@
 | 
				
			||||||
          "type": "string"
 | 
					          "type": "string"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "placeholder": {
 | 
					        "placeholder": {
 | 
				
			||||||
          "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation",
 | 
					          "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation\ngroup: expert",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/Record<string,string>"
 | 
					              "$ref": "#/definitions/Record<string,string>"
 | 
				
			||||||
| 
						 | 
					@ -40,27 +40,27 @@
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "helperArgs": {
 | 
					        "helperArgs": {
 | 
				
			||||||
          "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'",
 | 
					          "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
 | 
				
			||||||
          "type": "array",
 | 
					          "type": "array",
 | 
				
			||||||
          "items": {}
 | 
					          "items": {}
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "addExtraTags": {
 | 
					        "addExtraTags": {
 | 
				
			||||||
          "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'",
 | 
					          "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
 | 
				
			||||||
          "type": "array",
 | 
					          "type": "array",
 | 
				
			||||||
          "items": {
 | 
					          "items": {
 | 
				
			||||||
            "type": "string"
 | 
					            "type": "string"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "inline": {
 | 
					        "inline": {
 | 
				
			||||||
          "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question",
 | 
					          "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question\ngroup: expert",
 | 
				
			||||||
          "type": "boolean"
 | 
					          "type": "boolean"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "default": {
 | 
					        "default": {
 | 
				
			||||||
          "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield",
 | 
					          "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield\ngroup: expert",
 | 
				
			||||||
          "type": "string"
 | 
					          "type": "string"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "invalidValues": {
 | 
					        "invalidValues": {
 | 
				
			||||||
          "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key",
 | 
					          "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key\ngroup: expert",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -73,10 +73,7 @@
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      }
 | 
				
			||||||
      "required": [
 | 
					 | 
				
			||||||
        "key"
 | 
					 | 
				
			||||||
      ]
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "question": {
 | 
					    "question": {
 | 
				
			||||||
      "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
					      "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
				
			||||||
| 
						 | 
					@ -169,7 +166,7 @@
 | 
				
			||||||
      ]
 | 
					      ]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "condition": {
 | 
					    "condition": {
 | 
				
			||||||
      "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					      "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
      "anyOf": [
 | 
					      "anyOf": [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					          "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -498,7 +495,7 @@
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -533,10 +530,7 @@
 | 
				
			||||||
              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
					              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "mappings": {
 | 
					        "mappings": {
 | 
				
			||||||
          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
					          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
				
			||||||
| 
						 | 
					@ -560,7 +554,7 @@
 | 
				
			||||||
                ]
 | 
					                ]
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
              "icon": {
 | 
					              "icon": {
 | 
				
			||||||
                "description": "question: What icon should be added to this mapping?\nAn icon supporting this mapping; typically shown pretty small\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
					                "description": "question: What icon should be added to this mapping?\nifunset: Do not show an extra icon next to the render value\n\nAn icon supporting this mapping; typically shown pretty small.\nThis can be used to show a 'phone'-icon next to the phone number\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
				
			||||||
                "anyOf": [
 | 
					                "anyOf": [
 | 
				
			||||||
                  {
 | 
					                  {
 | 
				
			||||||
                    "type": "object",
 | 
					                    "type": "object",
 | 
				
			||||||
| 
						 | 
					@ -686,7 +680,7 @@
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "addExtraTags": {
 | 
					        "addExtraTags": {
 | 
				
			||||||
          "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag[]\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
					          "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
				
			||||||
          "type": "array",
 | 
					          "type": "array",
 | 
				
			||||||
          "items": {
 | 
					          "items": {
 | 
				
			||||||
            "type": "string"
 | 
					            "type": "string"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,7 +29,7 @@ export default {
 | 
				
			||||||
          "type": "string"
 | 
					          "type": "string"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "placeholder": {
 | 
					        "placeholder": {
 | 
				
			||||||
          "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation",
 | 
					          "description": "question: What placeholder text should be shown in the input-element if there is no input?\nA (translated) text that is shown (as gray text) within the textfield\ntype: translation\ngroup: expert",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/Record<string,string>"
 | 
					              "$ref": "#/definitions/Record<string,string>"
 | 
				
			||||||
| 
						 | 
					@ -40,27 +40,27 @@ export default {
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "helperArgs": {
 | 
					        "helperArgs": {
 | 
				
			||||||
          "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'",
 | 
					          "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
 | 
				
			||||||
          "type": "array",
 | 
					          "type": "array",
 | 
				
			||||||
          "items": {}
 | 
					          "items": {}
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "addExtraTags": {
 | 
					        "addExtraTags": {
 | 
				
			||||||
          "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'",
 | 
					          "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
 | 
				
			||||||
          "type": "array",
 | 
					          "type": "array",
 | 
				
			||||||
          "items": {
 | 
					          "items": {
 | 
				
			||||||
            "type": "string"
 | 
					            "type": "string"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "inline": {
 | 
					        "inline": {
 | 
				
			||||||
          "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question",
 | 
					          "description": "question: Show the freeform as box within the question?\nInstead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout.\nifunset: show the freeform input field full-width\niftrue: show the freeform input field as a small field within the question\ngroup: expert",
 | 
				
			||||||
          "type": "boolean"
 | 
					          "type": "boolean"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "default": {
 | 
					        "default": {
 | 
				
			||||||
          "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield",
 | 
					          "description": "question: What value should be entered in the text field if no value is set?\nThis can help people to quickly enter the most common option\nifunset: do not prefill the textfield\ngroup: expert",
 | 
				
			||||||
          "type": "string"
 | 
					          "type": "string"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "invalidValues": {
 | 
					        "invalidValues": {
 | 
				
			||||||
          "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key",
 | 
					          "description": "question: What values of the freeform key should be interpreted as 'unknown'?\nFor example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked\nifunset: The question will be considered answered if any value is set for the key\ngroup: expert",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -73,10 +73,7 @@ export default {
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      }
 | 
				
			||||||
      "required": [
 | 
					 | 
				
			||||||
        "key"
 | 
					 | 
				
			||||||
      ]
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "question": {
 | 
					    "question": {
 | 
				
			||||||
      "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
					      "description": "question: What question should be shown to the contributor?\n\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n\nifunset: This tagrendering will be shown if it is known, but cannot be edited by the contributor, effectively resutling in a read-only rendering",
 | 
				
			||||||
| 
						 | 
					@ -169,7 +166,7 @@ export default {
 | 
				
			||||||
      ]
 | 
					      ]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "condition": {
 | 
					    "condition": {
 | 
				
			||||||
      "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					      "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
      "anyOf": [
 | 
					      "anyOf": [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					          "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -491,7 +488,7 @@ export default {
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -526,10 +523,7 @@ export default {
 | 
				
			||||||
              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
					              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "mappings": {
 | 
					        "mappings": {
 | 
				
			||||||
          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
					          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
				
			||||||
| 
						 | 
					@ -553,7 +547,7 @@ export default {
 | 
				
			||||||
                ]
 | 
					                ]
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
              "icon": {
 | 
					              "icon": {
 | 
				
			||||||
                "description": "question: What icon should be added to this mapping?\nAn icon supporting this mapping; typically shown pretty small\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
					                "description": "question: What icon should be added to this mapping?\nifunset: Do not show an extra icon next to the render value\n\nAn icon supporting this mapping; typically shown pretty small.\nThis can be used to show a 'phone'-icon next to the phone number\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
				
			||||||
                "anyOf": [
 | 
					                "anyOf": [
 | 
				
			||||||
                  {
 | 
					                  {
 | 
				
			||||||
                    "type": "object",
 | 
					                    "type": "object",
 | 
				
			||||||
| 
						 | 
					@ -677,7 +671,7 @@ export default {
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "addExtraTags": {
 | 
					        "addExtraTags": {
 | 
				
			||||||
          "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag[]\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
					          "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
				
			||||||
          "type": "array",
 | 
					          "type": "array",
 | 
				
			||||||
          "items": {
 | 
					          "items": {
 | 
				
			||||||
            "type": "string"
 | 
					            "type": "string"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -315,7 +315,7 @@
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -350,10 +350,7 @@
 | 
				
			||||||
              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
					              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "mappings": {
 | 
					        "mappings": {
 | 
				
			||||||
          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
					          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
				
			||||||
| 
						 | 
					@ -377,7 +374,7 @@
 | 
				
			||||||
                ]
 | 
					                ]
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
              "icon": {
 | 
					              "icon": {
 | 
				
			||||||
                "description": "question: What icon should be added to this mapping?\nAn icon supporting this mapping; typically shown pretty small\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
					                "description": "question: What icon should be added to this mapping?\nifunset: Do not show an extra icon next to the render value\n\nAn icon supporting this mapping; typically shown pretty small.\nThis can be used to show a 'phone'-icon next to the phone number\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
				
			||||||
                "anyOf": [
 | 
					                "anyOf": [
 | 
				
			||||||
                  {
 | 
					                  {
 | 
				
			||||||
                    "type": "object",
 | 
					                    "type": "object",
 | 
				
			||||||
| 
						 | 
					@ -503,7 +500,7 @@
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "addExtraTags": {
 | 
					        "addExtraTags": {
 | 
				
			||||||
          "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag[]\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
					          "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
				
			||||||
          "type": "array",
 | 
					          "type": "array",
 | 
				
			||||||
          "items": {
 | 
					          "items": {
 | 
				
			||||||
            "type": "string"
 | 
					            "type": "string"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -308,7 +308,7 @@ export default {
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "condition": {
 | 
					        "condition": {
 | 
				
			||||||
          "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					          "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
          "anyOf": [
 | 
					          "anyOf": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					              "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -343,10 +343,7 @@ export default {
 | 
				
			||||||
              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
					              "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
				
			||||||
              "type": "string"
 | 
					              "type": "string"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          }
 | 
				
			||||||
          "required": [
 | 
					 | 
				
			||||||
            "key"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "mappings": {
 | 
					        "mappings": {
 | 
				
			||||||
          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
					          "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
				
			||||||
| 
						 | 
					@ -370,7 +367,7 @@ export default {
 | 
				
			||||||
                ]
 | 
					                ]
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
              "icon": {
 | 
					              "icon": {
 | 
				
			||||||
                "description": "question: What icon should be added to this mapping?\nAn icon supporting this mapping; typically shown pretty small\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
					                "description": "question: What icon should be added to this mapping?\nifunset: Do not show an extra icon next to the render value\n\nAn icon supporting this mapping; typically shown pretty small.\nThis can be used to show a 'phone'-icon next to the phone number\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
				
			||||||
                "anyOf": [
 | 
					                "anyOf": [
 | 
				
			||||||
                  {
 | 
					                  {
 | 
				
			||||||
                    "type": "object",
 | 
					                    "type": "object",
 | 
				
			||||||
| 
						 | 
					@ -494,7 +491,7 @@ export default {
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "addExtraTags": {
 | 
					        "addExtraTags": {
 | 
				
			||||||
          "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag[]\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
					          "description": "question: What extra tags should be added to the object if this object is chosen?\ntype: simple_tag\n\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n    \"if\": \"crossing:marking=rainbow\",\n    \"then\": \"This is a rainbow crossing\",\n    \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```",
 | 
				
			||||||
          "type": "array",
 | 
					          "type": "array",
 | 
				
			||||||
          "items": {
 | 
					          "items": {
 | 
				
			||||||
            "type": "string"
 | 
					            "type": "string"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -64,7 +64,7 @@
 | 
				
			||||||
      ]
 | 
					      ]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "condition": {
 | 
					    "condition": {
 | 
				
			||||||
      "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					      "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
      "anyOf": [
 | 
					      "anyOf": [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					          "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -99,10 +99,7 @@
 | 
				
			||||||
          "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
					          "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
				
			||||||
          "type": "string"
 | 
					          "type": "string"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      }
 | 
				
			||||||
      "required": [
 | 
					 | 
				
			||||||
        "key"
 | 
					 | 
				
			||||||
      ]
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "mappings": {
 | 
					    "mappings": {
 | 
				
			||||||
      "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
					      "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
				
			||||||
| 
						 | 
					@ -126,7 +123,7 @@
 | 
				
			||||||
            ]
 | 
					            ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "icon": {
 | 
					          "icon": {
 | 
				
			||||||
            "description": "question: What icon should be added to this mapping?\nAn icon supporting this mapping; typically shown pretty small\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
					            "description": "question: What icon should be added to this mapping?\nifunset: Do not show an extra icon next to the render value\n\nAn icon supporting this mapping; typically shown pretty small.\nThis can be used to show a 'phone'-icon next to the phone number\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
				
			||||||
            "anyOf": [
 | 
					            "anyOf": [
 | 
				
			||||||
              {
 | 
					              {
 | 
				
			||||||
                "type": "object",
 | 
					                "type": "object",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -64,7 +64,7 @@ export default {
 | 
				
			||||||
      ]
 | 
					      ]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "condition": {
 | 
					    "condition": {
 | 
				
			||||||
      "description": "question: When should this item be shown?\ntype: tag\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
					      "description": "question: When should this item be shown?\ntype: tag\nifunset: No specific condition set; always show this tagRendering or ask the question if unkown\n\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n    {\n      \"question\": \"Where is the changing table located?\",\n      \"render\": \"The changing table is located at {changing_table:location}\",\n      \"condition\": \"changing_table=yes\",\n      \"freeform\": {\n        \"key\": \"changing_table:location\",\n        \"inline\": true\n      },\n      \"mappings\": [\n        {\n          \"then\": \"The changing table is in the toilet for women.\",\n          \"if\": \"changing_table:location=female_toilet\"\n        },\n        {\n          \"then\": \"The changing table is in the toilet for men.\",\n          \"if\": \"changing_table:location=male_toilet\"\n        },\n        {\n          \"if\": \"changing_table:location=wheelchair_toilet\",\n          \"then\": \"The changing table is in the toilet for wheelchair users.\",\n        },\n        {\n          \"if\": \"changing_table:location=dedicated_room\",\n          \"then\": \"The changing table is in a dedicated room. \",\n        }\n      ],\n      \"id\": \"toilet-changing_table:location\"\n    },\n```",
 | 
				
			||||||
      "anyOf": [
 | 
					      "anyOf": [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
					          "$ref": "#/definitions/{and:TagConfigJson[];}"
 | 
				
			||||||
| 
						 | 
					@ -99,10 +99,7 @@ export default {
 | 
				
			||||||
          "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
					          "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown",
 | 
				
			||||||
          "type": "string"
 | 
					          "type": "string"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      }
 | 
				
			||||||
      "required": [
 | 
					 | 
				
			||||||
        "key"
 | 
					 | 
				
			||||||
      ]
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "mappings": {
 | 
					    "mappings": {
 | 
				
			||||||
      "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
					      "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes",
 | 
				
			||||||
| 
						 | 
					@ -126,7 +123,7 @@ export default {
 | 
				
			||||||
            ]
 | 
					            ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "icon": {
 | 
					          "icon": {
 | 
				
			||||||
            "description": "question: What icon should be added to this mapping?\nAn icon supporting this mapping; typically shown pretty small\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
					            "description": "question: What icon should be added to this mapping?\nifunset: Do not show an extra icon next to the render value\n\nAn icon supporting this mapping; typically shown pretty small.\nThis can be used to show a 'phone'-icon next to the phone number\ninline: <img src='{icon}' class=\"w-8 h-8\" /> {icon}\nType: icon",
 | 
				
			||||||
            "anyOf": [
 | 
					            "anyOf": [
 | 
				
			||||||
              {
 | 
					              {
 | 
				
			||||||
                "type": "object",
 | 
					                "type": "object",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -57,9 +57,12 @@ You can find the meaning of all those keys and values on the [OpenStreetMap-wiki
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Many traditional GIS-applications organise the data into layers.
 | 
					Many traditional GIS-applications organise the data into layers.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
OpenStreetMap does not do this. Consider this shop:
 | 
					OpenStreetMap does not do this. Consider this place:
 | 
				
			||||||
 | 
					
 | 
				
			||||||

 | 
					<div class="flex">
 | 
				
			||||||
 | 
					<img class="w-1/2 pr-4" src="../../public/assets/docs/SpelOpDeWagen.jpg">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This place has three functions:
 | 
					This place has three functions:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -69,6 +72,8 @@ This place has three functions:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
In a traditional system with layers, one would either have to choose the most fitting layer (e.g. the layer `pub`, `shops` or `social facility`? ) losing the multi-facetted aspect of the place. 
 | 
					In a traditional system with layers, one would either have to choose the most fitting layer (e.g. the layer `pub`, `shops` or `social facility`? ) losing the multi-facetted aspect of the place. 
 | 
				
			||||||
Another approach could be to add it to all three layers, duplicating the data. However, this makes maintaining the data harder.
 | 
					Another approach could be to add it to all three layers, duplicating the data. However, this makes maintaining the data harder.
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# What is MapComplete?
 | 
					# What is MapComplete?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -101,7 +101,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "access",
 | 
					      "key": "access",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows access=private with a fixed text, namely 'Not accessible to the general public (e.g. only accessible to the owners, employees, ...)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')",
 | 
					      "description": "Layer 'Charging stations' shows access=private with a fixed text, namely 'Not accessible to the general public (e.g. only accessible to the owners, employees, …)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')",
 | 
				
			||||||
      "value": "private"
 | 
					      "value": "private"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -345,7 +345,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:schuko:output",
 | 
					      "key": "socket:schuko:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:schuko:output=3.6 kW with a fixed text, namely '<b>Schuko wall plug</b> without ground pin (CEE7/4 type F) outputs at most 3.6 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:schuko~.+&socket:schuko!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:schuko:output=3.6 kW with a fixed text, namely '<b>Schuko wall plug</b> without ground pin (CEE7/4 type F) outputs at most 3.6 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:schuko~.+ &socket:schuko!=0)",
 | 
				
			||||||
      "value": "3.6 kW"
 | 
					      "value": "3.6 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -372,12 +372,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:typee:output",
 | 
					      "key": "socket:typee:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:typee:output=3 kW with a fixed text, namely '<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 3 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+&socket:typee!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:typee:output=3 kW with a fixed text, namely '<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 3 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ &socket:typee!=0)",
 | 
				
			||||||
      "value": "3 kW"
 | 
					      "value": "3 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:typee:output",
 | 
					      "key": "socket:typee:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:typee:output=22 kW with a fixed text, namely '<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+&socket:typee!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:typee:output=22 kW with a fixed text, namely '<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 22 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ &socket:typee!=0)",
 | 
				
			||||||
      "value": "22 kW"
 | 
					      "value": "22 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -404,7 +404,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:chademo:output",
 | 
					      "key": "socket:chademo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:chademo:output=50 kW with a fixed text, namely '<b>Chademo</b> outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:chademo~.+&socket:chademo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:chademo:output=50 kW with a fixed text, namely '<b>Chademo</b> outputs at most 50 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:chademo~.+ &socket:chademo!=0)",
 | 
				
			||||||
      "value": "50 kW"
 | 
					      "value": "50 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -436,12 +436,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_cable:output",
 | 
					      "key": "socket:type1_cable:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_cable:output=3.7 kW with a fixed text, namely '<b>Type 1 with cable</b> (J1772) outputs at most 3.7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+&socket:type1_cable!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_cable:output=3.7 kW with a fixed text, namely '<b>Type 1 with cable</b> (J1772) outputs at most 3.7 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ &socket:type1_cable!=0)",
 | 
				
			||||||
      "value": "3.7 kW"
 | 
					      "value": "3.7 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_cable:output",
 | 
					      "key": "socket:type1_cable:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_cable:output=7 kW with a fixed text, namely '<b>Type 1 with cable</b> (J1772) outputs at most 7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+&socket:type1_cable!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_cable:output=7 kW with a fixed text, namely '<b>Type 1 with cable</b> (J1772) outputs at most 7 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ &socket:type1_cable!=0)",
 | 
				
			||||||
      "value": "7 kW"
 | 
					      "value": "7 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -473,22 +473,22 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1:output",
 | 
					      "key": "socket:type1:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1:output=3.7 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 3.7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+&socket:type1!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1:output=3.7 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 3.7 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ &socket:type1!=0)",
 | 
				
			||||||
      "value": "3.7 kW"
 | 
					      "value": "3.7 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1:output",
 | 
					      "key": "socket:type1:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1:output=6.6 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 6.6 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+&socket:type1!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1:output=6.6 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 6.6 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ &socket:type1!=0)",
 | 
				
			||||||
      "value": "6.6 kW"
 | 
					      "value": "6.6 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1:output",
 | 
					      "key": "socket:type1:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1:output=7 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+&socket:type1!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1:output=7 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ &socket:type1!=0)",
 | 
				
			||||||
      "value": "7 kW"
 | 
					      "value": "7 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1:output",
 | 
					      "key": "socket:type1:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1:output=7.2 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7.2 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+&socket:type1!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1:output=7.2 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7.2 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ &socket:type1!=0)",
 | 
				
			||||||
      "value": "7.2 kW"
 | 
					      "value": "7.2 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -525,22 +525,22 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_combo:output",
 | 
					      "key": "socket:type1_combo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_combo:output=50 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+&socket:type1_combo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_combo:output=50 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 50 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ &socket:type1_combo!=0)",
 | 
				
			||||||
      "value": "50 kW"
 | 
					      "value": "50 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_combo:output",
 | 
					      "key": "socket:type1_combo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_combo:output=62.5 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 62.5 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+&socket:type1_combo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_combo:output=62.5 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 62.5 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ &socket:type1_combo!=0)",
 | 
				
			||||||
      "value": "62.5 kW"
 | 
					      "value": "62.5 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_combo:output",
 | 
					      "key": "socket:type1_combo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_combo:output=150 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+&socket:type1_combo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_combo:output=150 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 150 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ &socket:type1_combo!=0)",
 | 
				
			||||||
      "value": "150 kW"
 | 
					      "value": "150 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_combo:output",
 | 
					      "key": "socket:type1_combo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_combo:output=350 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 350 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+&socket:type1_combo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_combo:output=350 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 350 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ &socket:type1_combo!=0)",
 | 
				
			||||||
      "value": "350 kW"
 | 
					      "value": "350 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -572,17 +572,17 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger:output",
 | 
					      "key": "socket:tesla_supercharger:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=120 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 120 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+&socket:tesla_supercharger!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=120 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 120 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ &socket:tesla_supercharger!=0)",
 | 
				
			||||||
      "value": "120 kW"
 | 
					      "value": "120 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger:output",
 | 
					      "key": "socket:tesla_supercharger:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=150 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+&socket:tesla_supercharger!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=150 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 150 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ &socket:tesla_supercharger!=0)",
 | 
				
			||||||
      "value": "150 kW"
 | 
					      "value": "150 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger:output",
 | 
					      "key": "socket:tesla_supercharger:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=250 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 250 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+&socket:tesla_supercharger!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=250 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 250 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ &socket:tesla_supercharger!=0)",
 | 
				
			||||||
      "value": "250 kW"
 | 
					      "value": "250 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -619,12 +619,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type2:output",
 | 
					      "key": "socket:type2:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type2:output=11 kW with a fixed text, namely '<b>Type 2</b> (mennekes) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+&socket:type2!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type2:output=11 kW with a fixed text, namely '<b>Type 2</b> (mennekes) outputs at most 11 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ &socket:type2!=0)",
 | 
				
			||||||
      "value": "11 kW"
 | 
					      "value": "11 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type2:output",
 | 
					      "key": "socket:type2:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type2:output=22 kW with a fixed text, namely '<b>Type 2</b> (mennekes) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+&socket:type2!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type2:output=22 kW with a fixed text, namely '<b>Type 2</b> (mennekes) outputs at most 22 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ &socket:type2!=0)",
 | 
				
			||||||
      "value": "22 kW"
 | 
					      "value": "22 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -661,7 +661,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type2_combo:output",
 | 
					      "key": "socket:type2_combo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type2_combo:output=50 kW with a fixed text, namely '<b>Type 2 CCS</b> (mennekes) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+&socket:type2_combo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type2_combo:output=50 kW with a fixed text, namely '<b>Type 2 CCS</b> (mennekes) outputs at most 50 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ &socket:type2_combo!=0)",
 | 
				
			||||||
      "value": "50 kW"
 | 
					      "value": "50 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -698,12 +698,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type2_cable:output",
 | 
					      "key": "socket:type2_cable:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type2_cable:output=11 kW with a fixed text, namely '<b>Type 2 with cable</b> (mennekes) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+&socket:type2_cable!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type2_cable:output=11 kW with a fixed text, namely '<b>Type 2 with cable</b> (mennekes) outputs at most 11 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ &socket:type2_cable!=0)",
 | 
				
			||||||
      "value": "11 kW"
 | 
					      "value": "11 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type2_cable:output",
 | 
					      "key": "socket:type2_cable:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type2_cable:output=22 kW with a fixed text, namely '<b>Type 2 with cable</b> (mennekes) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+&socket:type2_cable!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type2_cable:output=22 kW with a fixed text, namely '<b>Type 2 with cable</b> (mennekes) outputs at most 22 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ &socket:type2_cable!=0)",
 | 
				
			||||||
      "value": "22 kW"
 | 
					      "value": "22 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -712,12 +712,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger_ccs:voltage",
 | 
					      "key": "socket:tesla_supercharger_ccs:voltage",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=500 V with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+&socket:tesla_supercharger_ccs!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=500 V with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded Type 2 CSS) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ &socket:tesla_supercharger_ccs!=0)",
 | 
				
			||||||
      "value": "500 V"
 | 
					      "value": "500 V"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger_ccs:voltage",
 | 
					      "key": "socket:tesla_supercharger_ccs:voltage",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=920 V with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+&socket:tesla_supercharger_ccs!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=920 V with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded Type 2 CSS) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ &socket:tesla_supercharger_ccs!=0)",
 | 
				
			||||||
      "value": "920 V"
 | 
					      "value": "920 V"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -740,7 +740,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger_ccs:output",
 | 
					      "key": "socket:tesla_supercharger_ccs:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:output=50 kW with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+&socket:tesla_supercharger_ccs!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:output=50 kW with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded Type 2 CSS) outputs at most 50 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ &socket:tesla_supercharger_ccs!=0)",
 | 
				
			||||||
      "value": "50 kW"
 | 
					      "value": "50 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -749,7 +749,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:voltage",
 | 
					      "key": "socket:tesla_destination:voltage",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=480 V with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=480 V with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "480 V"
 | 
					      "value": "480 V"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -758,12 +758,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:current",
 | 
					      "key": "socket:tesla_destination:current",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=125 A with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=125 A with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "125 A"
 | 
					      "value": "125 A"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:current",
 | 
					      "key": "socket:tesla_destination:current",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=350 A with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=350 A with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "350 A"
 | 
					      "value": "350 A"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -772,17 +772,17 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:output",
 | 
					      "key": "socket:tesla_destination:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=120 kW with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs at most 120 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=120 kW with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs at most 120 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "120 kW"
 | 
					      "value": "120 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:output",
 | 
					      "key": "socket:tesla_destination:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=150 kW with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=150 kW with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs at most 150 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "150 kW"
 | 
					      "value": "150 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:output",
 | 
					      "key": "socket:tesla_destination:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=250 kW with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs at most 250 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=250 kW with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs at most 250 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "250 kW"
 | 
					      "value": "250 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -791,12 +791,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:voltage",
 | 
					      "key": "socket:tesla_destination:voltage",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=230 V with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=230 V with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "230 V"
 | 
					      "value": "230 V"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:voltage",
 | 
					      "key": "socket:tesla_destination:voltage",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=400 V with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=400 V with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "400 V"
 | 
					      "value": "400 V"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -805,12 +805,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:current",
 | 
					      "key": "socket:tesla_destination:current",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=16 A with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=16 A with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as tesla) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "16 A"
 | 
					      "value": "16 A"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:current",
 | 
					      "key": "socket:tesla_destination:current",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=32 A with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=32 A with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "32 A"
 | 
					      "value": "32 A"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -819,12 +819,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:output",
 | 
					      "key": "socket:tesla_destination:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=11 kW with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=11 kW with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs at most 11 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "11 kW"
 | 
					      "value": "11 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:output",
 | 
					      "key": "socket:tesla_destination:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=22 kW with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=22 kW with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs at most 22 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "22 kW"
 | 
					      "value": "22 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -856,12 +856,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:USB-A:output",
 | 
					      "key": "socket:USB-A:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:USB-A:output=5W with a fixed text, namely '<b>USB</b> to charge phones and small electronics outputs at most 5W A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+&socket:USB-A!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:USB-A:output=5W with a fixed text, namely '<b>USB</b> to charge phones and small electronics outputs at most 5w A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ &socket:USB-A!=0)",
 | 
				
			||||||
      "value": "5W"
 | 
					      "value": "5W"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:USB-A:output",
 | 
					      "key": "socket:USB-A:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:USB-A:output=10W with a fixed text, namely '<b>USB</b> to charge phones and small electronics outputs at most 10W A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+&socket:USB-A!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:USB-A:output=10W with a fixed text, namely '<b>USB</b> to charge phones and small electronics outputs at most 10w A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ &socket:USB-A!=0)",
 | 
				
			||||||
      "value": "10W"
 | 
					      "value": "10W"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -944,12 +944,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "fee",
 | 
					      "key": "fee",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows fee=yes&fee:conditional=no @ customers with a fixed text, namely 'Paid use, but free for customers of the hotel/pub/hospital/... who operates the charging station' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')",
 | 
					      "description": "Layer 'Charging stations' shows fee=yes &fee:conditional=no @ customers with a fixed text, namely 'Paid use, but free for customers of the hotel/pub/hospital/… who operates the charging station' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')",
 | 
				
			||||||
      "value": "yes"
 | 
					      "value": "yes"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "fee:conditional",
 | 
					      "key": "fee:conditional",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows fee=yes&fee:conditional=no @ customers with a fixed text, namely 'Paid use, but free for customers of the hotel/pub/hospital/... who operates the charging station' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')",
 | 
					      "description": "Layer 'Charging stations' shows fee=yes &fee:conditional=no @ customers with a fixed text, namely 'Paid use, but free for customers of the hotel/pub/hospital/… who operates the charging station' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')",
 | 
				
			||||||
      "value": "no @ customers"
 | 
					      "value": "no @ customers"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1758,22 +1758,22 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Shop' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "key_cutter"
 | 
					      "value": "key_cutter"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "yes"
 | 
					      "value": "yes"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') Picking this answer will delete the key craft. (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": ""
 | 
					      "value": ""
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "no"
 | 
					      "value": "no"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -2886,22 +2886,22 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Shop' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "key_cutter"
 | 
					      "value": "key_cutter"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "yes"
 | 
					      "value": "yes"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') Picking this answer will delete the key craft. (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": ""
 | 
					      "value": ""
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "no"
 | 
					      "value": "no"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1546,7 +1546,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "access",
 | 
					      "key": "access",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows access=private with a fixed text, namely 'Not accessible to the general public (e.g. only accessible to the owners, employees, ...)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')",
 | 
					      "description": "Layer 'Charging stations' shows access=private with a fixed text, namely 'Not accessible to the general public (e.g. only accessible to the owners, employees, …)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')",
 | 
				
			||||||
      "value": "private"
 | 
					      "value": "private"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -1790,7 +1790,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:schuko:output",
 | 
					      "key": "socket:schuko:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:schuko:output=3.6 kW with a fixed text, namely '<b>Schuko wall plug</b> without ground pin (CEE7/4 type F) outputs at most 3.6 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:schuko~.+&socket:schuko!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:schuko:output=3.6 kW with a fixed text, namely '<b>Schuko wall plug</b> without ground pin (CEE7/4 type F) outputs at most 3.6 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:schuko~.+ &socket:schuko!=0)",
 | 
				
			||||||
      "value": "3.6 kW"
 | 
					      "value": "3.6 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -1817,12 +1817,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:typee:output",
 | 
					      "key": "socket:typee:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:typee:output=3 kW with a fixed text, namely '<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 3 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:typee~.+&socket:typee!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:typee:output=3 kW with a fixed text, namely '<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 3 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:typee~.+ &socket:typee!=0)",
 | 
				
			||||||
      "value": "3 kW"
 | 
					      "value": "3 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:typee:output",
 | 
					      "key": "socket:typee:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:typee:output=22 kW with a fixed text, namely '<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:typee~.+&socket:typee!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:typee:output=22 kW with a fixed text, namely '<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 22 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:typee~.+ &socket:typee!=0)",
 | 
				
			||||||
      "value": "22 kW"
 | 
					      "value": "22 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -1849,7 +1849,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:chademo:output",
 | 
					      "key": "socket:chademo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:chademo:output=50 kW with a fixed text, namely '<b>Chademo</b> outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:chademo~.+&socket:chademo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:chademo:output=50 kW with a fixed text, namely '<b>Chademo</b> outputs at most 50 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:chademo~.+ &socket:chademo!=0)",
 | 
				
			||||||
      "value": "50 kW"
 | 
					      "value": "50 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -1881,12 +1881,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_cable:output",
 | 
					      "key": "socket:type1_cable:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_cable:output=3.7 kW with a fixed text, namely '<b>Type 1 with cable</b> (J1772) outputs at most 3.7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_cable~.+&socket:type1_cable!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_cable:output=3.7 kW with a fixed text, namely '<b>Type 1 with cable</b> (J1772) outputs at most 3.7 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_cable~.+ &socket:type1_cable!=0)",
 | 
				
			||||||
      "value": "3.7 kW"
 | 
					      "value": "3.7 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_cable:output",
 | 
					      "key": "socket:type1_cable:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_cable:output=7 kW with a fixed text, namely '<b>Type 1 with cable</b> (J1772) outputs at most 7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_cable~.+&socket:type1_cable!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_cable:output=7 kW with a fixed text, namely '<b>Type 1 with cable</b> (J1772) outputs at most 7 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_cable~.+ &socket:type1_cable!=0)",
 | 
				
			||||||
      "value": "7 kW"
 | 
					      "value": "7 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -1918,22 +1918,22 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1:output",
 | 
					      "key": "socket:type1:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1:output=3.7 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 3.7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+&socket:type1!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1:output=3.7 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 3.7 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ &socket:type1!=0)",
 | 
				
			||||||
      "value": "3.7 kW"
 | 
					      "value": "3.7 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1:output",
 | 
					      "key": "socket:type1:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1:output=6.6 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 6.6 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+&socket:type1!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1:output=6.6 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 6.6 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ &socket:type1!=0)",
 | 
				
			||||||
      "value": "6.6 kW"
 | 
					      "value": "6.6 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1:output",
 | 
					      "key": "socket:type1:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1:output=7 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+&socket:type1!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1:output=7 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ &socket:type1!=0)",
 | 
				
			||||||
      "value": "7 kW"
 | 
					      "value": "7 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1:output",
 | 
					      "key": "socket:type1:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1:output=7.2 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7.2 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+&socket:type1!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1:output=7.2 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7.2 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ &socket:type1!=0)",
 | 
				
			||||||
      "value": "7.2 kW"
 | 
					      "value": "7.2 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -1970,22 +1970,22 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_combo:output",
 | 
					      "key": "socket:type1_combo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_combo:output=50 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+&socket:type1_combo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_combo:output=50 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 50 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ &socket:type1_combo!=0)",
 | 
				
			||||||
      "value": "50 kW"
 | 
					      "value": "50 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_combo:output",
 | 
					      "key": "socket:type1_combo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_combo:output=62.5 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 62.5 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+&socket:type1_combo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_combo:output=62.5 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 62.5 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ &socket:type1_combo!=0)",
 | 
				
			||||||
      "value": "62.5 kW"
 | 
					      "value": "62.5 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_combo:output",
 | 
					      "key": "socket:type1_combo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_combo:output=150 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+&socket:type1_combo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_combo:output=150 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 150 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ &socket:type1_combo!=0)",
 | 
				
			||||||
      "value": "150 kW"
 | 
					      "value": "150 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_combo:output",
 | 
					      "key": "socket:type1_combo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_combo:output=350 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 350 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+&socket:type1_combo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_combo:output=350 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 350 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ &socket:type1_combo!=0)",
 | 
				
			||||||
      "value": "350 kW"
 | 
					      "value": "350 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -2017,17 +2017,17 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger:output",
 | 
					      "key": "socket:tesla_supercharger:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=120 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 120 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+&socket:tesla_supercharger!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=120 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 120 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+ &socket:tesla_supercharger!=0)",
 | 
				
			||||||
      "value": "120 kW"
 | 
					      "value": "120 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger:output",
 | 
					      "key": "socket:tesla_supercharger:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=150 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+&socket:tesla_supercharger!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=150 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 150 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+ &socket:tesla_supercharger!=0)",
 | 
				
			||||||
      "value": "150 kW"
 | 
					      "value": "150 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger:output",
 | 
					      "key": "socket:tesla_supercharger:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=250 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 250 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+&socket:tesla_supercharger!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=250 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 250 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+ &socket:tesla_supercharger!=0)",
 | 
				
			||||||
      "value": "250 kW"
 | 
					      "value": "250 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -2064,12 +2064,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type2:output",
 | 
					      "key": "socket:type2:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type2:output=11 kW with a fixed text, namely '<b>Type 2</b> (mennekes) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2~.+&socket:type2!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type2:output=11 kW with a fixed text, namely '<b>Type 2</b> (mennekes) outputs at most 11 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2~.+ &socket:type2!=0)",
 | 
				
			||||||
      "value": "11 kW"
 | 
					      "value": "11 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type2:output",
 | 
					      "key": "socket:type2:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type2:output=22 kW with a fixed text, namely '<b>Type 2</b> (mennekes) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2~.+&socket:type2!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type2:output=22 kW with a fixed text, namely '<b>Type 2</b> (mennekes) outputs at most 22 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2~.+ &socket:type2!=0)",
 | 
				
			||||||
      "value": "22 kW"
 | 
					      "value": "22 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -2106,7 +2106,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type2_combo:output",
 | 
					      "key": "socket:type2_combo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type2_combo:output=50 kW with a fixed text, namely '<b>Type 2 CCS</b> (mennekes) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_combo~.+&socket:type2_combo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type2_combo:output=50 kW with a fixed text, namely '<b>Type 2 CCS</b> (mennekes) outputs at most 50 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_combo~.+ &socket:type2_combo!=0)",
 | 
				
			||||||
      "value": "50 kW"
 | 
					      "value": "50 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -2143,12 +2143,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type2_cable:output",
 | 
					      "key": "socket:type2_cable:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type2_cable:output=11 kW with a fixed text, namely '<b>Type 2 with cable</b> (mennekes) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_cable~.+&socket:type2_cable!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type2_cable:output=11 kW with a fixed text, namely '<b>Type 2 with cable</b> (mennekes) outputs at most 11 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_cable~.+ &socket:type2_cable!=0)",
 | 
				
			||||||
      "value": "11 kW"
 | 
					      "value": "11 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type2_cable:output",
 | 
					      "key": "socket:type2_cable:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type2_cable:output=22 kW with a fixed text, namely '<b>Type 2 with cable</b> (mennekes) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_cable~.+&socket:type2_cable!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type2_cable:output=22 kW with a fixed text, namely '<b>Type 2 with cable</b> (mennekes) outputs at most 22 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_cable~.+ &socket:type2_cable!=0)",
 | 
				
			||||||
      "value": "22 kW"
 | 
					      "value": "22 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -2157,12 +2157,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger_ccs:voltage",
 | 
					      "key": "socket:tesla_supercharger_ccs:voltage",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=500 V with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger_ccs~.+&socket:tesla_supercharger_ccs!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=500 V with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded Type 2 CSS) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger_ccs~.+ &socket:tesla_supercharger_ccs!=0)",
 | 
				
			||||||
      "value": "500 V"
 | 
					      "value": "500 V"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger_ccs:voltage",
 | 
					      "key": "socket:tesla_supercharger_ccs:voltage",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=920 V with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger_ccs~.+&socket:tesla_supercharger_ccs!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=920 V with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded Type 2 CSS) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger_ccs~.+ &socket:tesla_supercharger_ccs!=0)",
 | 
				
			||||||
      "value": "920 V"
 | 
					      "value": "920 V"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -2185,7 +2185,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger_ccs:output",
 | 
					      "key": "socket:tesla_supercharger_ccs:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:output=50 kW with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger_ccs~.+&socket:tesla_supercharger_ccs!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:output=50 kW with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded Type 2 CSS) outputs at most 50 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger_ccs~.+ &socket:tesla_supercharger_ccs!=0)",
 | 
				
			||||||
      "value": "50 kW"
 | 
					      "value": "50 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -2194,7 +2194,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:voltage",
 | 
					      "key": "socket:tesla_destination:voltage",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=480 V with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=480 V with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "480 V"
 | 
					      "value": "480 V"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -2203,12 +2203,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:current",
 | 
					      "key": "socket:tesla_destination:current",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=125 A with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=125 A with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "125 A"
 | 
					      "value": "125 A"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:current",
 | 
					      "key": "socket:tesla_destination:current",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=350 A with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=350 A with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "350 A"
 | 
					      "value": "350 A"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -2217,17 +2217,17 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:output",
 | 
					      "key": "socket:tesla_destination:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=120 kW with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs at most 120 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=120 kW with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs at most 120 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "120 kW"
 | 
					      "value": "120 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:output",
 | 
					      "key": "socket:tesla_destination:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=150 kW with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=150 kW with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs at most 150 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "150 kW"
 | 
					      "value": "150 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:output",
 | 
					      "key": "socket:tesla_destination:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=250 kW with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs at most 250 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=250 kW with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs at most 250 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "250 kW"
 | 
					      "value": "250 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -2236,12 +2236,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:voltage",
 | 
					      "key": "socket:tesla_destination:voltage",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=230 V with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=230 V with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "230 V"
 | 
					      "value": "230 V"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:voltage",
 | 
					      "key": "socket:tesla_destination:voltage",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=400 V with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=400 V with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "400 V"
 | 
					      "value": "400 V"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -2250,12 +2250,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:current",
 | 
					      "key": "socket:tesla_destination:current",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=16 A with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=16 A with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as tesla) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "16 A"
 | 
					      "value": "16 A"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:current",
 | 
					      "key": "socket:tesla_destination:current",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=32 A with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=32 A with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "32 A"
 | 
					      "value": "32 A"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -2264,12 +2264,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:output",
 | 
					      "key": "socket:tesla_destination:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=11 kW with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=11 kW with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs at most 11 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "11 kW"
 | 
					      "value": "11 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:output",
 | 
					      "key": "socket:tesla_destination:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=22 kW with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=22 kW with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs at most 22 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "22 kW"
 | 
					      "value": "22 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -2301,12 +2301,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:USB-A:output",
 | 
					      "key": "socket:USB-A:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:USB-A:output=5W with a fixed text, namely '<b>USB</b> to charge phones and small electronics outputs at most 5W A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:USB-A~.+&socket:USB-A!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:USB-A:output=5W with a fixed text, namely '<b>USB</b> to charge phones and small electronics outputs at most 5w A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:USB-A~.+ &socket:USB-A!=0)",
 | 
				
			||||||
      "value": "5W"
 | 
					      "value": "5W"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:USB-A:output",
 | 
					      "key": "socket:USB-A:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:USB-A:output=10W with a fixed text, namely '<b>USB</b> to charge phones and small electronics outputs at most 10W A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:USB-A~.+&socket:USB-A!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:USB-A:output=10W with a fixed text, namely '<b>USB</b> to charge phones and small electronics outputs at most 10w A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:USB-A~.+ &socket:USB-A!=0)",
 | 
				
			||||||
      "value": "10W"
 | 
					      "value": "10W"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -2389,12 +2389,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "fee",
 | 
					      "key": "fee",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows fee=yes&fee:conditional=no @ customers with a fixed text, namely 'Paid use, but free for customers of the hotel/pub/hospital/... who operates the charging station' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')",
 | 
					      "description": "Layer 'Charging stations' shows fee=yes &fee:conditional=no @ customers with a fixed text, namely 'Paid use, but free for customers of the hotel/pub/hospital/… who operates the charging station' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')",
 | 
				
			||||||
      "value": "yes"
 | 
					      "value": "yes"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "fee:conditional",
 | 
					      "key": "fee:conditional",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows fee=yes&fee:conditional=no @ customers with a fixed text, namely 'Paid use, but free for customers of the hotel/pub/hospital/... who operates the charging station' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')",
 | 
					      "description": "Layer 'Charging stations' shows fee=yes &fee:conditional=no @ customers with a fixed text, namely 'Paid use, but free for customers of the hotel/pub/hospital/… who operates the charging station' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')",
 | 
				
			||||||
      "value": "no @ customers"
 | 
					      "value": "no @ customers"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1342,22 +1342,22 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Shop' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' (in the mapcomplete.org theme 'Healthcare') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' and allows to pick this as a default answer (in the mapcomplete.org theme 'Healthcare') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "key_cutter"
 | 
					      "value": "key_cutter"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' (in the mapcomplete.org theme 'Healthcare') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Healthcare') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "yes"
 | 
					      "value": "yes"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'Healthcare') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Healthcare') Picking this answer will delete the key craft. (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": ""
 | 
					      "value": ""
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'Healthcare') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Healthcare') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "no"
 | 
					      "value": "no"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -2460,22 +2460,22 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Shop' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' (in the mapcomplete.org theme 'Healthcare') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' and allows to pick this as a default answer (in the mapcomplete.org theme 'Healthcare') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "key_cutter"
 | 
					      "value": "key_cutter"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' (in the mapcomplete.org theme 'Healthcare') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Healthcare') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "yes"
 | 
					      "value": "yes"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'Healthcare') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Healthcare') Picking this answer will delete the key craft. (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": ""
 | 
					      "value": ""
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'Healthcare') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Healthcare') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "no"
 | 
					      "value": "no"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2276,22 +2276,22 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Shop' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' (in the mapcomplete.org theme 'OnWheels') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' and allows to pick this as a default answer (in the mapcomplete.org theme 'OnWheels') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "key_cutter"
 | 
					      "value": "key_cutter"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' (in the mapcomplete.org theme 'OnWheels') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'OnWheels') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "yes"
 | 
					      "value": "yes"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'OnWheels') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'OnWheels') Picking this answer will delete the key craft. (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": ""
 | 
					      "value": ""
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'OnWheels') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'OnWheels') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "no"
 | 
					      "value": "no"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3047,7 +3047,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "access",
 | 
					      "key": "access",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows access=private with a fixed text, namely 'Not accessible to the general public (e.g. only accessible to the owners, employees, ...)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')",
 | 
					      "description": "Layer 'Charging stations' shows access=private with a fixed text, namely 'Not accessible to the general public (e.g. only accessible to the owners, employees, …)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')",
 | 
				
			||||||
      "value": "private"
 | 
					      "value": "private"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3291,7 +3291,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:schuko:output",
 | 
					      "key": "socket:schuko:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:schuko:output=3.6 kW with a fixed text, namely '<b>Schuko wall plug</b> without ground pin (CEE7/4 type F) outputs at most 3.6 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:schuko~.+&socket:schuko!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:schuko:output=3.6 kW with a fixed text, namely '<b>Schuko wall plug</b> without ground pin (CEE7/4 type F) outputs at most 3.6 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:schuko~.+ &socket:schuko!=0)",
 | 
				
			||||||
      "value": "3.6 kW"
 | 
					      "value": "3.6 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3318,12 +3318,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:typee:output",
 | 
					      "key": "socket:typee:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:typee:output=3 kW with a fixed text, namely '<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 3 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:typee~.+&socket:typee!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:typee:output=3 kW with a fixed text, namely '<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 3 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:typee~.+ &socket:typee!=0)",
 | 
				
			||||||
      "value": "3 kW"
 | 
					      "value": "3 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:typee:output",
 | 
					      "key": "socket:typee:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:typee:output=22 kW with a fixed text, namely '<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:typee~.+&socket:typee!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:typee:output=22 kW with a fixed text, namely '<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 22 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:typee~.+ &socket:typee!=0)",
 | 
				
			||||||
      "value": "22 kW"
 | 
					      "value": "22 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3350,7 +3350,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:chademo:output",
 | 
					      "key": "socket:chademo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:chademo:output=50 kW with a fixed text, namely '<b>Chademo</b> outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:chademo~.+&socket:chademo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:chademo:output=50 kW with a fixed text, namely '<b>Chademo</b> outputs at most 50 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:chademo~.+ &socket:chademo!=0)",
 | 
				
			||||||
      "value": "50 kW"
 | 
					      "value": "50 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3382,12 +3382,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_cable:output",
 | 
					      "key": "socket:type1_cable:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_cable:output=3.7 kW with a fixed text, namely '<b>Type 1 with cable</b> (J1772) outputs at most 3.7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1_cable~.+&socket:type1_cable!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_cable:output=3.7 kW with a fixed text, namely '<b>Type 1 with cable</b> (J1772) outputs at most 3.7 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1_cable~.+ &socket:type1_cable!=0)",
 | 
				
			||||||
      "value": "3.7 kW"
 | 
					      "value": "3.7 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_cable:output",
 | 
					      "key": "socket:type1_cable:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_cable:output=7 kW with a fixed text, namely '<b>Type 1 with cable</b> (J1772) outputs at most 7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1_cable~.+&socket:type1_cable!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_cable:output=7 kW with a fixed text, namely '<b>Type 1 with cable</b> (J1772) outputs at most 7 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1_cable~.+ &socket:type1_cable!=0)",
 | 
				
			||||||
      "value": "7 kW"
 | 
					      "value": "7 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3419,22 +3419,22 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1:output",
 | 
					      "key": "socket:type1:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1:output=3.7 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 3.7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1~.+&socket:type1!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1:output=3.7 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 3.7 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1~.+ &socket:type1!=0)",
 | 
				
			||||||
      "value": "3.7 kW"
 | 
					      "value": "3.7 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1:output",
 | 
					      "key": "socket:type1:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1:output=6.6 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 6.6 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1~.+&socket:type1!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1:output=6.6 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 6.6 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1~.+ &socket:type1!=0)",
 | 
				
			||||||
      "value": "6.6 kW"
 | 
					      "value": "6.6 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1:output",
 | 
					      "key": "socket:type1:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1:output=7 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1~.+&socket:type1!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1:output=7 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1~.+ &socket:type1!=0)",
 | 
				
			||||||
      "value": "7 kW"
 | 
					      "value": "7 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1:output",
 | 
					      "key": "socket:type1:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1:output=7.2 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7.2 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1~.+&socket:type1!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1:output=7.2 kW with a fixed text, namely '<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7.2 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1~.+ &socket:type1!=0)",
 | 
				
			||||||
      "value": "7.2 kW"
 | 
					      "value": "7.2 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3471,22 +3471,22 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_combo:output",
 | 
					      "key": "socket:type1_combo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_combo:output=50 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1_combo~.+&socket:type1_combo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_combo:output=50 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 50 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1_combo~.+ &socket:type1_combo!=0)",
 | 
				
			||||||
      "value": "50 kW"
 | 
					      "value": "50 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_combo:output",
 | 
					      "key": "socket:type1_combo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_combo:output=62.5 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 62.5 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1_combo~.+&socket:type1_combo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_combo:output=62.5 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 62.5 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1_combo~.+ &socket:type1_combo!=0)",
 | 
				
			||||||
      "value": "62.5 kW"
 | 
					      "value": "62.5 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_combo:output",
 | 
					      "key": "socket:type1_combo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_combo:output=150 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1_combo~.+&socket:type1_combo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_combo:output=150 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 150 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1_combo~.+ &socket:type1_combo!=0)",
 | 
				
			||||||
      "value": "150 kW"
 | 
					      "value": "150 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type1_combo:output",
 | 
					      "key": "socket:type1_combo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type1_combo:output=350 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 350 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1_combo~.+&socket:type1_combo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type1_combo:output=350 kW with a fixed text, namely '<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 350 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type1_combo~.+ &socket:type1_combo!=0)",
 | 
				
			||||||
      "value": "350 kW"
 | 
					      "value": "350 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3518,17 +3518,17 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger:output",
 | 
					      "key": "socket:tesla_supercharger:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=120 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 120 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_supercharger~.+&socket:tesla_supercharger!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=120 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 120 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_supercharger~.+ &socket:tesla_supercharger!=0)",
 | 
				
			||||||
      "value": "120 kW"
 | 
					      "value": "120 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger:output",
 | 
					      "key": "socket:tesla_supercharger:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=150 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_supercharger~.+&socket:tesla_supercharger!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=150 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 150 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_supercharger~.+ &socket:tesla_supercharger!=0)",
 | 
				
			||||||
      "value": "150 kW"
 | 
					      "value": "150 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger:output",
 | 
					      "key": "socket:tesla_supercharger:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=250 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 250 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_supercharger~.+&socket:tesla_supercharger!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=250 kW with a fixed text, namely '<b>Tesla Supercharger</b> outputs at most 250 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_supercharger~.+ &socket:tesla_supercharger!=0)",
 | 
				
			||||||
      "value": "250 kW"
 | 
					      "value": "250 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3565,12 +3565,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type2:output",
 | 
					      "key": "socket:type2:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type2:output=11 kW with a fixed text, namely '<b>Type 2</b> (mennekes) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type2~.+&socket:type2!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type2:output=11 kW with a fixed text, namely '<b>Type 2</b> (mennekes) outputs at most 11 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type2~.+ &socket:type2!=0)",
 | 
				
			||||||
      "value": "11 kW"
 | 
					      "value": "11 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type2:output",
 | 
					      "key": "socket:type2:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type2:output=22 kW with a fixed text, namely '<b>Type 2</b> (mennekes) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type2~.+&socket:type2!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type2:output=22 kW with a fixed text, namely '<b>Type 2</b> (mennekes) outputs at most 22 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type2~.+ &socket:type2!=0)",
 | 
				
			||||||
      "value": "22 kW"
 | 
					      "value": "22 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3607,7 +3607,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type2_combo:output",
 | 
					      "key": "socket:type2_combo:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type2_combo:output=50 kW with a fixed text, namely '<b>Type 2 CCS</b> (mennekes) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type2_combo~.+&socket:type2_combo!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type2_combo:output=50 kW with a fixed text, namely '<b>Type 2 CCS</b> (mennekes) outputs at most 50 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type2_combo~.+ &socket:type2_combo!=0)",
 | 
				
			||||||
      "value": "50 kW"
 | 
					      "value": "50 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3644,12 +3644,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type2_cable:output",
 | 
					      "key": "socket:type2_cable:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type2_cable:output=11 kW with a fixed text, namely '<b>Type 2 with cable</b> (mennekes) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type2_cable~.+&socket:type2_cable!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type2_cable:output=11 kW with a fixed text, namely '<b>Type 2 with cable</b> (mennekes) outputs at most 11 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type2_cable~.+ &socket:type2_cable!=0)",
 | 
				
			||||||
      "value": "11 kW"
 | 
					      "value": "11 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:type2_cable:output",
 | 
					      "key": "socket:type2_cable:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:type2_cable:output=22 kW with a fixed text, namely '<b>Type 2 with cable</b> (mennekes) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type2_cable~.+&socket:type2_cable!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:type2_cable:output=22 kW with a fixed text, namely '<b>Type 2 with cable</b> (mennekes) outputs at most 22 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:type2_cable~.+ &socket:type2_cable!=0)",
 | 
				
			||||||
      "value": "22 kW"
 | 
					      "value": "22 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3658,12 +3658,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger_ccs:voltage",
 | 
					      "key": "socket:tesla_supercharger_ccs:voltage",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=500 V with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_supercharger_ccs~.+&socket:tesla_supercharger_ccs!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=500 V with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded Type 2 CSS) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_supercharger_ccs~.+ &socket:tesla_supercharger_ccs!=0)",
 | 
				
			||||||
      "value": "500 V"
 | 
					      "value": "500 V"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger_ccs:voltage",
 | 
					      "key": "socket:tesla_supercharger_ccs:voltage",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=920 V with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_supercharger_ccs~.+&socket:tesla_supercharger_ccs!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=920 V with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded Type 2 CSS) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_supercharger_ccs~.+ &socket:tesla_supercharger_ccs!=0)",
 | 
				
			||||||
      "value": "920 V"
 | 
					      "value": "920 V"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3686,7 +3686,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_supercharger_ccs:output",
 | 
					      "key": "socket:tesla_supercharger_ccs:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:output=50 kW with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_supercharger_ccs~.+&socket:tesla_supercharger_ccs!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:output=50 kW with a fixed text, namely '<b>Tesla Supercharger CCS</b> (a branded Type 2 CSS) outputs at most 50 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_supercharger_ccs~.+ &socket:tesla_supercharger_ccs!=0)",
 | 
				
			||||||
      "value": "50 kW"
 | 
					      "value": "50 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3695,7 +3695,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:voltage",
 | 
					      "key": "socket:tesla_destination:voltage",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=480 V with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=480 V with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "480 V"
 | 
					      "value": "480 V"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3704,12 +3704,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:current",
 | 
					      "key": "socket:tesla_destination:current",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=125 A with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=125 A with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "125 A"
 | 
					      "value": "125 A"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:current",
 | 
					      "key": "socket:tesla_destination:current",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=350 A with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=350 A with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "350 A"
 | 
					      "value": "350 A"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3718,17 +3718,17 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:output",
 | 
					      "key": "socket:tesla_destination:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=120 kW with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs at most 120 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=120 kW with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs at most 120 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "120 kW"
 | 
					      "value": "120 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:output",
 | 
					      "key": "socket:tesla_destination:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=150 kW with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=150 kW with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs at most 150 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "150 kW"
 | 
					      "value": "150 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:output",
 | 
					      "key": "socket:tesla_destination:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=250 kW with a fixed text, namely '<b>Tesla Supercharger (destination)</b> outputs at most 250 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=250 kW with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> outputs at most 250 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "250 kW"
 | 
					      "value": "250 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3737,12 +3737,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:voltage",
 | 
					      "key": "socket:tesla_destination:voltage",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=230 V with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=230 V with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "230 V"
 | 
					      "value": "230 V"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:voltage",
 | 
					      "key": "socket:tesla_destination:voltage",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=400 V with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=400 V with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "400 V"
 | 
					      "value": "400 V"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3751,12 +3751,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:current",
 | 
					      "key": "socket:tesla_destination:current",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=16 A with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=16 A with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as tesla) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "16 A"
 | 
					      "value": "16 A"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:current",
 | 
					      "key": "socket:tesla_destination:current",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=32 A with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:current=32 A with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "32 A"
 | 
					      "value": "32 A"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3765,12 +3765,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:output",
 | 
					      "key": "socket:tesla_destination:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=11 kW with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=11 kW with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs at most 11 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "11 kW"
 | 
					      "value": "11 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:tesla_destination:output",
 | 
					      "key": "socket:tesla_destination:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=22 kW with a fixed text, namely '<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+&socket:tesla_destination!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:tesla_destination:output=22 kW with a fixed text, namely '<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs at most 22 kw A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:tesla_destination~.+ &socket:tesla_destination!=0)",
 | 
				
			||||||
      "value": "22 kW"
 | 
					      "value": "22 kW"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3802,12 +3802,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:USB-A:output",
 | 
					      "key": "socket:USB-A:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:USB-A:output=5W with a fixed text, namely '<b>USB</b> to charge phones and small electronics outputs at most 5W A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:USB-A~.+&socket:USB-A!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:USB-A:output=5W with a fixed text, namely '<b>USB</b> to charge phones and small electronics outputs at most 5w A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:USB-A~.+ &socket:USB-A!=0)",
 | 
				
			||||||
      "value": "5W"
 | 
					      "value": "5W"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "socket:USB-A:output",
 | 
					      "key": "socket:USB-A:output",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows socket:USB-A:output=10W with a fixed text, namely '<b>USB</b> to charge phones and small electronics outputs at most 10W A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:USB-A~.+&socket:USB-A!=0)",
 | 
					      "description": "Layer 'Charging stations' shows socket:USB-A:output=10W with a fixed text, namely '<b>USB</b> to charge phones and small electronics outputs at most 10w A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if socket:USB-A~.+ &socket:USB-A!=0)",
 | 
				
			||||||
      "value": "10W"
 | 
					      "value": "10W"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -3890,12 +3890,12 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "fee",
 | 
					      "key": "fee",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows fee=yes&fee:conditional=no @ customers with a fixed text, namely 'Paid use, but free for customers of the hotel/pub/hospital/... who operates the charging station' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')",
 | 
					      "description": "Layer 'Charging stations' shows fee=yes &fee:conditional=no @ customers with a fixed text, namely 'Paid use, but free for customers of the hotel/pub/hospital/… who operates the charging station' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')",
 | 
				
			||||||
      "value": "yes"
 | 
					      "value": "yes"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "fee:conditional",
 | 
					      "key": "fee:conditional",
 | 
				
			||||||
      "description": "Layer 'Charging stations' shows fee=yes&fee:conditional=no @ customers with a fixed text, namely 'Paid use, but free for customers of the hotel/pub/hospital/... who operates the charging station' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')",
 | 
					      "description": "Layer 'Charging stations' shows fee=yes &fee:conditional=no @ customers with a fixed text, namely 'Paid use, but free for customers of the hotel/pub/hospital/… who operates the charging station' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')",
 | 
				
			||||||
      "value": "no @ customers"
 | 
					      "value": "no @ customers"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -12519,22 +12519,22 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Shop' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' (in the mapcomplete.org theme 'Personal theme') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "key_cutter"
 | 
					      "value": "key_cutter"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' (in the mapcomplete.org theme 'Personal theme') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "yes"
 | 
					      "value": "yes"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'Personal theme') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') Picking this answer will delete the key craft. (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": ""
 | 
					      "value": ""
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'Personal theme') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "no"
 | 
					      "value": "no"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1619,22 +1619,22 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Dog-friendly shops' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Dog-friendly shops' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' and allows to pick this as a default answer (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "key_cutter"
 | 
					      "value": "key_cutter"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Dog-friendly shops' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Dog-friendly shops' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "yes"
 | 
					      "value": "yes"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Dog-friendly shops' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Dog-friendly shops' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') Picking this answer will delete the key craft. (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": ""
 | 
					      "value": ""
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Dog-friendly shops' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Dog-friendly shops' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "no"
 | 
					      "value": "no"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -986,22 +986,22 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Shop' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' (in the mapcomplete.org theme 'Shops') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' and allows to pick this as a default answer (in the mapcomplete.org theme 'Shops') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "key_cutter"
 | 
					      "value": "key_cutter"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' (in the mapcomplete.org theme 'Shops') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Shops') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "yes"
 | 
					      "value": "yes"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'Shops') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Shops') Picking this answer will delete the key craft. (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": ""
 | 
					      "value": ""
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'Shops') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Shops') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "no"
 | 
					      "value": "no"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1512,22 +1512,22 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Shop' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' (in the mapcomplete.org theme 'Sports') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "key_cutter"
 | 
					      "value": "key_cutter"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' (in the mapcomplete.org theme 'Sports') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "yes"
 | 
					      "value": "yes"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "craft",
 | 
					      "key": "craft",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'Sports') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports') Picking this answer will delete the key craft. (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": ""
 | 
					      "value": ""
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "key": "service:key_cutting",
 | 
					      "key": "service:key_cutting",
 | 
				
			||||||
      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' (in the mapcomplete.org theme 'Sports') (This is only shown if shop=shoe_repair|service:key_cutting~.+|craft=key_cutting|shop=diy|shop=doityourself|shop=home_improvement|shop=hardware|shop=locksmith|shop=repair)",
 | 
					      "description": "Layer 'Shop' shows service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports') (This is only shown if shop=shoe_repair |service:key_cutting~.+ |craft=key_cutting |shop=diy |shop=doityourself |shop=home_improvement |shop=hardware |shop=locksmith |shop=repair)",
 | 
				
			||||||
      "value": "no"
 | 
					      "value": "no"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,9 +26,9 @@ User has used mapcomplete a few times before but has very little OSM-knowledge.
 | 
				
			||||||
- [x] When creating a new layer, perhaps force 'source' too?
 | 
					- [x] When creating a new layer, perhaps force 'source' too?
 | 
				
			||||||
- [x] Forced questions in the beginning: do not show errors
 | 
					- [x] Forced questions in the beginning: do not show errors
 | 
				
			||||||
- [x] Validation: forbid that a mapping starts with "yes" or "no"
 | 
					- [x] Validation: forbid that a mapping starts with "yes" or "no"
 | 
				
			||||||
- [ ] TagRenderings: freeform key cannot be set to 'undefined' again
 | 
					- [x] TagRenderings: freeform key cannot be set to 'undefined' again
 | 
				
			||||||
- [ ] How to create a mapping for `key=yes` or `key=no` is unclear. Person searched for a 'binary'-type instead
 | 
					- [ ] How to create a mapping for `key=yes` or `key=no` is unclear. Person searched for a 'binary'-type instead
 | 
				
			||||||
- [ ] When a new tagRendering is added, the floatover should open immediately
 | 
					- [x] When a new tagRendering is added, the floatover should open immediately
 | 
				
			||||||
- [ ] Mappings with different keys do not erase each other/freeform (e.g. noname=yes should erase `name`)
 | 
					- [ ] Mappings with different keys do not erase each other/freeform (e.g. noname=yes should erase `name`)
 | 
				
			||||||
- [x] Rename `mapping` to `predifined icon`, perhaps add a clarifying icon
 | 
					- [x] Rename `mapping` to `predifined icon`, perhaps add a clarifying icon
 | 
				
			||||||
- [x] In tagRenderings: the `question`-field should be in question-mode right from the start
 | 
					- [x] In tagRenderings: the `question`-field should be in question-mode right from the start
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								public/assets/docs/SpelOpDeWagen.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								public/assets/docs/SpelOpDeWagen.jpg
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 417 KiB  | 
| 
						 | 
					@ -1696,14 +1696,14 @@ video {
 | 
				
			||||||
  padding: 0.5rem;
 | 
					  padding: 0.5rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.p-1 {
 | 
					 | 
				
			||||||
  padding: 0.25rem;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.p-4 {
 | 
					.p-4 {
 | 
				
			||||||
  padding: 1rem;
 | 
					  padding: 1rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.p-1 {
 | 
				
			||||||
 | 
					  padding: 0.25rem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.p-0\.5 {
 | 
					.p-0\.5 {
 | 
				
			||||||
  padding: 0.125rem;
 | 
					  padding: 0.125rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1736,6 +1736,10 @@ video {
 | 
				
			||||||
  padding-right: 0.5rem;
 | 
					  padding-right: 0.5rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.pr-12 {
 | 
				
			||||||
 | 
					  padding-right: 3rem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.pl-1 {
 | 
					.pl-1 {
 | 
				
			||||||
  padding-left: 0.25rem;
 | 
					  padding-left: 0.25rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1800,10 +1804,6 @@ video {
 | 
				
			||||||
  text-align: justify;
 | 
					  text-align: justify;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.align-middle {
 | 
					 | 
				
			||||||
  vertical-align: middle;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.text-xl {
 | 
					.text-xl {
 | 
				
			||||||
  font-size: 1.25rem;
 | 
					  font-size: 1.25rem;
 | 
				
			||||||
  line-height: 1.75rem;
 | 
					  line-height: 1.75rem;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -80,6 +80,7 @@ export interface LayerConfigJson {
 | 
				
			||||||
               *
 | 
					               *
 | 
				
			||||||
               * type: nat
 | 
					               * type: nat
 | 
				
			||||||
               * default: 30 days
 | 
					               * default: 30 days
 | 
				
			||||||
 | 
					               * group: expert
 | 
				
			||||||
               */
 | 
					               */
 | 
				
			||||||
              maxCacheAge?: number
 | 
					              maxCacheAge?: number
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
| 
						 | 
					@ -116,6 +117,7 @@ export interface LayerConfigJson {
 | 
				
			||||||
               * question: Is this geojson a cache of OpenStreetMap data?
 | 
					               * question: Is this geojson a cache of OpenStreetMap data?
 | 
				
			||||||
               * ifunset: This is not an OpenStreetMap cache
 | 
					               * ifunset: This is not an OpenStreetMap cache
 | 
				
			||||||
               * iftrue: this is based on OpenStreetMap and can thus be edited
 | 
					               * iftrue: this is based on OpenStreetMap and can thus be edited
 | 
				
			||||||
 | 
					               * group: expert
 | 
				
			||||||
               */
 | 
					               */
 | 
				
			||||||
              isOsmCache?: boolean
 | 
					              isOsmCache?: boolean
 | 
				
			||||||
              /**
 | 
					              /**
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -121,7 +121,7 @@ export interface MappingConfigJson {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * question: What extra tags should be added to the object if this object is chosen?
 | 
					     * question: What extra tags should be added to the object if this object is chosen?
 | 
				
			||||||
     * type: simple_tag[]
 | 
					     * type: simple_tag
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     * If chosen as answer, these tags will be applied onto the object, together with the tags from the `if`
 | 
					     * If chosen as answer, these tags will be applied onto the object, together with the tags from the `if`
 | 
				
			||||||
     * Not compatible with multiAnswer.
 | 
					     * Not compatible with multiAnswer.
 | 
				
			||||||
| 
						 | 
					@ -204,7 +204,7 @@ export interface QuestionableTagRenderingConfigJson extends TagRenderingConfigJs
 | 
				
			||||||
         * ifunset: do not offer a freeform textfield as answer option
 | 
					         * ifunset: do not offer a freeform textfield as answer option
 | 
				
			||||||
         *
 | 
					         *
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
        key: string
 | 
					        key?: string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /**
 | 
					        /**
 | 
				
			||||||
         * question: What is the input type?
 | 
					         * question: What is the input type?
 | 
				
			||||||
| 
						 | 
					@ -212,23 +212,26 @@ export interface QuestionableTagRenderingConfigJson extends TagRenderingConfigJs
 | 
				
			||||||
         * See Docs/SpecialInputElements.md and UI/Input/ValidatedTextField.ts for supported values
 | 
					         * See Docs/SpecialInputElements.md and UI/Input/ValidatedTextField.ts for supported values
 | 
				
			||||||
         * ifunset: use an unconstrained <b>string</b> as input (default)
 | 
					         * ifunset: use an unconstrained <b>string</b> as input (default)
 | 
				
			||||||
         * suggestions: return validators.AllValidators.filter(type => !type.isMeta).map((type) => ({if: "value="+type.name, then: "<b>"+type.name+"</b> "+type.explanation.split("\n")[0]}))
 | 
					         * suggestions: return validators.AllValidators.filter(type => !type.isMeta).map((type) => ({if: "value="+type.name, then: "<b>"+type.name+"</b> "+type.explanation.split("\n")[0]}))
 | 
				
			||||||
         */
 | 
					         **/
 | 
				
			||||||
        type?: string
 | 
					        type?: string
 | 
				
			||||||
        /**
 | 
					        /**
 | 
				
			||||||
         * question: What placeholder text should be shown in the input-element if there is no input?
 | 
					         * question: What placeholder text should be shown in the input-element if there is no input?
 | 
				
			||||||
         * A (translated) text that is shown (as gray text) within the textfield
 | 
					         * A (translated) text that is shown (as gray text) within the textfield
 | 
				
			||||||
         * type: translation
 | 
					         * type: translation
 | 
				
			||||||
 | 
					         * group: expert
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
        placeholder?: Translatable
 | 
					        placeholder?: Translatable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /**
 | 
					        /**
 | 
				
			||||||
         * Extra parameters to initialize the input helper arguments.
 | 
					         * Extra parameters to initialize the input helper arguments.
 | 
				
			||||||
         * For semantics, see the 'SpecialInputElements.md'
 | 
					         * For semantics, see the 'SpecialInputElements.md'
 | 
				
			||||||
 | 
					         * group: expert
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
        helperArgs?: (string | number | boolean | any)[]
 | 
					        helperArgs?: (string | number | boolean | any)[]
 | 
				
			||||||
        /**
 | 
					        /**
 | 
				
			||||||
         * If a value is added with the textfield, these extra tag is addded.
 | 
					         * If a value is added with the textfield, these extra tag is addded.
 | 
				
			||||||
         * Useful to add a 'fixme=freeform textfield used - to be checked'
 | 
					         * Useful to add a 'fixme=freeform textfield used - to be checked'
 | 
				
			||||||
 | 
					         * group: expert
 | 
				
			||||||
         **/
 | 
					         **/
 | 
				
			||||||
        addExtraTags?: string[]
 | 
					        addExtraTags?: string[]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -239,6 +242,7 @@ export interface QuestionableTagRenderingConfigJson extends TagRenderingConfigJs
 | 
				
			||||||
         * This combines badly with special input elements, as it'll distort the layout.
 | 
					         * This combines badly with special input elements, as it'll distort the layout.
 | 
				
			||||||
         * ifunset: show the freeform input field full-width
 | 
					         * ifunset: show the freeform input field full-width
 | 
				
			||||||
         * iftrue: show the freeform input field as a small field within the question
 | 
					         * iftrue: show the freeform input field as a small field within the question
 | 
				
			||||||
 | 
					         * group: expert
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
        inline?: boolean
 | 
					        inline?: boolean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,12 +250,14 @@ export interface QuestionableTagRenderingConfigJson extends TagRenderingConfigJs
 | 
				
			||||||
         * question: What value should be entered in the text field if no value is set?
 | 
					         * question: What value should be entered in the text field if no value is set?
 | 
				
			||||||
         * This can help people to quickly enter the most common option
 | 
					         * This can help people to quickly enter the most common option
 | 
				
			||||||
         * ifunset: do not prefill the textfield
 | 
					         * ifunset: do not prefill the textfield
 | 
				
			||||||
 | 
					         * group: expert
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
        default?: string
 | 
					        default?: string
 | 
				
			||||||
        /**
 | 
					        /**
 | 
				
			||||||
         * question: What values of the freeform key should be interpreted as 'unknown'?
 | 
					         * question: What values of the freeform key should be interpreted as 'unknown'?
 | 
				
			||||||
         * For example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked
 | 
					         * For example, if a feature has `shop=yes`, the question 'what type of shop is this?' should still asked
 | 
				
			||||||
         * ifunset: The question will be considered answered if any value is set for the key
 | 
					         * ifunset: The question will be considered answered if any value is set for the key
 | 
				
			||||||
 | 
					         * group: expert
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
        invalidValues?: TagConfigJson
 | 
					        invalidValues?: TagConfigJson
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -86,6 +86,8 @@ export interface TagRenderingConfigJson {
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     * question: When should this item be shown?
 | 
					     * question: When should this item be shown?
 | 
				
			||||||
     * type: tag
 | 
					     * type: tag
 | 
				
			||||||
 | 
					     * ifunset: No specific condition set; always show this tagRendering or ask the question if unkown
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.
 | 
					     * Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     * This is useful to ask a follow-up question.
 | 
					     * This is useful to ask a follow-up question.
 | 
				
			||||||
| 
						 | 
					@ -146,7 +148,7 @@ export interface TagRenderingConfigJson {
 | 
				
			||||||
         * If this key is present in the feature, then 'render' is used to display the value.
 | 
					         * If this key is present in the feature, then 'render' is used to display the value.
 | 
				
			||||||
         * If this is undefined, the rendering is _always_ shown
 | 
					         * If this is undefined, the rendering is _always_ shown
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
        key: string
 | 
					        key?: string
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
| 
						 | 
					@ -174,7 +176,10 @@ export interface TagRenderingConfigJson {
 | 
				
			||||||
        then: Translatable
 | 
					        then: Translatable
 | 
				
			||||||
        /**
 | 
					        /**
 | 
				
			||||||
         * question: What icon should be added to this mapping?
 | 
					         * question: What icon should be added to this mapping?
 | 
				
			||||||
         * An icon supporting this mapping; typically shown pretty small
 | 
					         * ifunset: Do not show an extra icon next to the render value
 | 
				
			||||||
 | 
					         *
 | 
				
			||||||
 | 
					         * An icon supporting this mapping; typically shown pretty small.
 | 
				
			||||||
 | 
					         * This can be used to show a 'phone'-icon next to the phone number
 | 
				
			||||||
         * inline: <img src='{icon}' class="w-8 h-8" /> {icon}
 | 
					         * inline: <img src='{icon}' class="w-8 h-8" /> {icon}
 | 
				
			||||||
         * Type: icon
 | 
					         * Type: icon
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -36,8 +36,8 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  let htmlElem: HTMLDivElement;
 | 
					  let htmlElem: HTMLDivElement;
 | 
				
			||||||
  $: {
 | 
					  $: {
 | 
				
			||||||
    if (editMode && htmlElem !== undefined) {
 | 
					    if (editMode && htmlElem !== undefined && config.IsKnown(tags)) {
 | 
				
			||||||
      // EditMode switched to true, so the person wants to make a change
 | 
					      // EditMode switched to true yet the answer is already known, so the person wants to make a change
 | 
				
			||||||
      // Make sure that the question is in the scrollview!
 | 
					      // Make sure that the question is in the scrollview!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      // Some delay is applied to give Svelte the time to render the _question_
 | 
					      // Some delay is applied to give Svelte the time to render the _question_
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,6 +32,8 @@ export abstract class EditJsonState<T> {
 | 
				
			||||||
    public readonly category: "layers" | "themes"
 | 
					    public readonly category: "layers" | "themes"
 | 
				
			||||||
    public readonly server: StudioServer
 | 
					    public readonly server: StudioServer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public readonly expertMode: UIEventSource<boolean>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public readonly configuration: UIEventSource<Partial<T>> = new UIEventSource<Partial<T>>({})
 | 
					    public readonly configuration: UIEventSource<Partial<T>> = new UIEventSource<Partial<T>>({})
 | 
				
			||||||
    public readonly messages: Store<ConversionMessage[]>
 | 
					    public readonly messages: Store<ConversionMessage[]>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -44,10 +46,18 @@ export abstract class EditJsonState<T> {
 | 
				
			||||||
    private sendingUpdates = false
 | 
					    private sendingUpdates = false
 | 
				
			||||||
    private readonly _stores = new Map<string, UIEventSource<any>>()
 | 
					    private readonly _stores = new Map<string, UIEventSource<any>>()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    constructor(schema: ConfigMeta[], server: StudioServer, category: "layers" | "themes") {
 | 
					    constructor(
 | 
				
			||||||
 | 
					        schema: ConfigMeta[],
 | 
				
			||||||
 | 
					        server: StudioServer,
 | 
				
			||||||
 | 
					        category: "layers" | "themes",
 | 
				
			||||||
 | 
					        options?: {
 | 
				
			||||||
 | 
					            expertMode?: UIEventSource<boolean>
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    ) {
 | 
				
			||||||
        this.schema = schema
 | 
					        this.schema = schema
 | 
				
			||||||
        this.server = server
 | 
					        this.server = server
 | 
				
			||||||
        this.category = category
 | 
					        this.category = category
 | 
				
			||||||
 | 
					        this.expertMode = options?.expertMode ?? new UIEventSource<boolean>(false)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        this.messages = this.setupErrorsForLayers()
 | 
					        this.messages = this.setupErrorsForLayers()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -261,8 +271,13 @@ export default class EditLayerState extends EditJsonState<LayerConfigJson> {
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    constructor(schema: ConfigMeta[], server: StudioServer, osmConnection: OsmConnection) {
 | 
					    constructor(
 | 
				
			||||||
        super(schema, server, "layers")
 | 
					        schema: ConfigMeta[],
 | 
				
			||||||
 | 
					        server: StudioServer,
 | 
				
			||||||
 | 
					        osmConnection: OsmConnection,
 | 
				
			||||||
 | 
					        options: { expertMode: UIEventSource<boolean> }
 | 
				
			||||||
 | 
					    ) {
 | 
				
			||||||
 | 
					        super(schema, server, "layers", options)
 | 
				
			||||||
        this.osmConnection = osmConnection
 | 
					        this.osmConnection = osmConnection
 | 
				
			||||||
        this.layout = {
 | 
					        this.layout = {
 | 
				
			||||||
            getMatchingLayer: (_) => {
 | 
					            getMatchingLayer: (_) => {
 | 
				
			||||||
| 
						 | 
					@ -330,8 +345,12 @@ export default class EditLayerState extends EditJsonState<LayerConfigJson> {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class EditThemeState extends EditJsonState<LayoutConfigJson> {
 | 
					export class EditThemeState extends EditJsonState<LayoutConfigJson> {
 | 
				
			||||||
    constructor(schema: ConfigMeta[], server: StudioServer) {
 | 
					    constructor(
 | 
				
			||||||
        super(schema, server, "themes")
 | 
					        schema: ConfigMeta[],
 | 
				
			||||||
 | 
					        server: StudioServer,
 | 
				
			||||||
 | 
					        options: { expertMode: UIEventSource<boolean> }
 | 
				
			||||||
 | 
					    ) {
 | 
				
			||||||
 | 
					        super(schema, server, "themes", options)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    protected buildValidation(state: DesugaringContext): Conversion<LayoutConfigJson, any> {
 | 
					    protected buildValidation(state: DesugaringContext): Conversion<LayoutConfigJson, any> {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,6 +12,9 @@ export let title: string | undefined = undefined;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export let path: (string | number)[] = [];
 | 
					export let path: (string | number)[] = [];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					let expertMode = state.expertMode
 | 
				
			||||||
 | 
					let configsFiltered = $expertMode ? configs : configs.filter(schema => schema.hints?.group !== "expert")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
{#if configs === undefined}
 | 
					{#if configs === undefined}
 | 
				
			||||||
  Bug: 'Region' received 'undefined'
 | 
					  Bug: 'Region' received 'undefined'
 | 
				
			||||||
| 
						 | 
					@ -22,14 +25,14 @@ export let path: (string | number)[] = [];
 | 
				
			||||||
    <h3>{title}</h3>
 | 
					    <h3>{title}</h3>
 | 
				
			||||||
    <div class="pl-2 border border-black flex flex-col gap-y-1 w-full">
 | 
					    <div class="pl-2 border border-black flex flex-col gap-y-1 w-full">
 | 
				
			||||||
      <slot name="description" />
 | 
					      <slot name="description" />
 | 
				
			||||||
      {#each configs as config}
 | 
					      {#each configsFiltered as config}
 | 
				
			||||||
        <SchemaBasedInput {state} path={config.path} schema={config} />
 | 
					        <SchemaBasedInput {state} path={config.path} schema={config} />
 | 
				
			||||||
      {/each}
 | 
					      {/each}
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
{:else}
 | 
					{:else}
 | 
				
			||||||
  <div class="pl-2 flex flex-col gap-y-1 w-full">
 | 
					  <div class="pl-2 flex flex-col gap-y-1 w-full">
 | 
				
			||||||
    {#each configs as config}
 | 
					    {#each configsFiltered as config}
 | 
				
			||||||
      <SchemaBasedInput {state} path={path.concat(config.path)} schema={config} />
 | 
					      <SchemaBasedInput {state} path={path.concat(config.path)} schema={config} />
 | 
				
			||||||
    {/each}
 | 
					    {/each}
 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,10 +17,10 @@
 | 
				
			||||||
  export let state: EditLayerState;
 | 
					  export let state: EditLayerState;
 | 
				
			||||||
  export let path: (string | number)[] = [];
 | 
					  export let path: (string | number)[] = [];
 | 
				
			||||||
  export let schema: ConfigMeta;
 | 
					  export let schema: ConfigMeta;
 | 
				
			||||||
  export let startInEditModeIfUnset: boolean = !schema.hints.ifunset
 | 
					  export let startInEditModeIfUnset: boolean = schema.hints && !schema.hints.ifunset
 | 
				
			||||||
  let value = new UIEventSource<string | any>(undefined);
 | 
					  let value = new UIEventSource<string | any>(undefined);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const isTranslation = schema.hints.typehint === "translation" || schema.hints.typehint === "rendered" || ConfigMetaUtils.isTranslation(schema);
 | 
					  const isTranslation = schema.hints?.typehint === "translation" || schema.hints?.typehint === "rendered" || ConfigMetaUtils.isTranslation(schema);
 | 
				
			||||||
  let type = schema.hints.typehint ?? "string";
 | 
					  let type = schema.hints.typehint ?? "string";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  let rendervalue = (schema.hints.inline ?? schema.path.join(".")) + (isTranslation ? " <b>{translated(value)}</b>": " <b>{value}</b>");
 | 
					  let rendervalue = (schema.hints.inline ?? schema.path.join(".")) + (isTranslation ? " <b>{translated(value)}</b>": " <b>{value}</b>");
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,7 @@
 | 
				
			||||||
  <ArrayMultiAnswer {path} {state} {schema}/>
 | 
					  <ArrayMultiAnswer {path} {state} {schema}/>
 | 
				
			||||||
{:else if schema.type === "array"}
 | 
					{:else if schema.type === "array"}
 | 
				
			||||||
  <SchemaBasedArray {path} {state} {schema} />
 | 
					  <SchemaBasedArray {path} {state} {schema} />
 | 
				
			||||||
{:else if schema.hints.types}
 | 
					{:else if schema.hints?.types}
 | 
				
			||||||
  <SchemaBasedMultiType {path} {state} {schema} />
 | 
					  <SchemaBasedMultiType {path} {state} {schema} />
 | 
				
			||||||
{:else}
 | 
					{:else}
 | 
				
			||||||
  <SchemaBasedField {path} {state} {schema} />
 | 
					  <SchemaBasedField {path} {state} {schema} />
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,6 +14,7 @@
 | 
				
			||||||
  // @ts-ignore
 | 
					  // @ts-ignore
 | 
				
			||||||
  import nmd from "nano-markdown";
 | 
					  import nmd from "nano-markdown";
 | 
				
			||||||
  import ShowConversionMessage from "./ShowConversionMessage.svelte";
 | 
					  import ShowConversionMessage from "./ShowConversionMessage.svelte";
 | 
				
			||||||
 | 
					  import exp from "constants";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
   * If 'types' is defined: allow the user to pick one of the types to input.
 | 
					   * If 'types' is defined: allow the user to pick one of the types to input.
 | 
				
			||||||
| 
						 | 
					@ -22,6 +23,7 @@
 | 
				
			||||||
  export let state: EditLayerState;
 | 
					  export let state: EditLayerState;
 | 
				
			||||||
  export let path: (string | number)[] = [];
 | 
					  export let path: (string | number)[] = [];
 | 
				
			||||||
  export let schema: ConfigMeta;
 | 
					  export let schema: ConfigMeta;
 | 
				
			||||||
 | 
					  let expertMode = state.expertMode;
 | 
				
			||||||
  const defaultOption = schema.hints.typesdefault ? Number(schema.hints.typesdefault) : undefined;
 | 
					  const defaultOption = schema.hints.typesdefault ? Number(schema.hints.typesdefault) : undefined;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const hasBooleanOption = (<JsonSchemaType[]>schema.type)?.findIndex(t => t["type"] === "boolean");
 | 
					  const hasBooleanOption = (<JsonSchemaType[]>schema.type)?.findIndex(t => t["type"] === "boolean");
 | 
				
			||||||
| 
						 | 
					@ -212,8 +214,13 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    {#if chosenOption !== undefined}
 | 
					    {#if chosenOption !== undefined}
 | 
				
			||||||
      {#each subSchemas as subschema}
 | 
					      {#each subSchemas as subschema}
 | 
				
			||||||
 | 
					        {#if $expertMode || subschema.hints?.group !== "expert"}
 | 
				
			||||||
          <SchemaBasedInput {state} schema={subschema}
 | 
					          <SchemaBasedInput {state} schema={subschema}
 | 
				
			||||||
                            path={[...subpath, (subschema?.path?.at(-1) ?? "???")]}></SchemaBasedInput>
 | 
					                            path={[...subpath, (subschema?.path?.at(-1) ?? "???")]}></SchemaBasedInput>
 | 
				
			||||||
 | 
					          {:else if window.location.hostname === "127.0.0.1"}
 | 
				
			||||||
 | 
					            <span class="subtle">Omitted expert question {subschema.path.join(".")}</span>
 | 
				
			||||||
 | 
					          
 | 
				
			||||||
 | 
					        {/if}
 | 
				
			||||||
      {/each}
 | 
					      {/each}
 | 
				
			||||||
    {:else if $messages.length > 0}
 | 
					    {:else if $messages.length > 0}
 | 
				
			||||||
      {#each $messages as message}
 | 
					      {#each $messages as message}
 | 
				
			||||||
| 
						 | 
					@ -222,6 +229,7 @@
 | 
				
			||||||
    {/if}
 | 
					    {/if}
 | 
				
			||||||
  {/if}
 | 
					  {/if}
 | 
				
			||||||
  {#if window.location.hostname === "127.0.0.1"}
 | 
					  {#if window.location.hostname === "127.0.0.1"}
 | 
				
			||||||
    <span class="subtle">SchemaBasedMultiType <b>{path.join(".")}</b> <span class="cursor-pointer" on:click={() => console.log(schema)}>{schema.hints.typehint}</span></span>
 | 
					    <span class="subtle">SchemaBasedMultiType <b>{path.join(".")}</b> <span class="cursor-pointer"
 | 
				
			||||||
 | 
					                                                                            on:click={() => console.log(schema)}>{schema.hints.typehint}</span></span>
 | 
				
			||||||
  {/if}
 | 
					  {/if}
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,30 +17,31 @@ import { TrashIcon } from "@rgossiaux/svelte-heroicons/outline";
 | 
				
			||||||
import questionableTagRenderingSchemaRaw from "../../assets/schemas/questionabletagrenderingconfigmeta.json";
 | 
					import questionableTagRenderingSchemaRaw from "../../assets/schemas/questionabletagrenderingconfigmeta.json";
 | 
				
			||||||
import SchemaBasedField from "./SchemaBasedField.svelte";
 | 
					import SchemaBasedField from "./SchemaBasedField.svelte";
 | 
				
			||||||
import Region from "./Region.svelte";
 | 
					import Region from "./Region.svelte";
 | 
				
			||||||
 | 
					import exp from "constants";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export let state: EditLayerState;
 | 
					export let state: EditLayerState;
 | 
				
			||||||
export let schema: ConfigMeta;
 | 
					export let schema: ConfigMeta;
 | 
				
			||||||
export let path: (string | number)[];
 | 
					export let path: (string | number)[];
 | 
				
			||||||
 | 
					let expertMode = state.expertMode;
 | 
				
			||||||
const store = state.getStoreFor(path);
 | 
					const store = state.getStoreFor(path);
 | 
				
			||||||
let value = store.data
 | 
					let value = store.data;
 | 
				
			||||||
console.log(">> initial value", value, store)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Allows the theme builder to create 'writable' themes.
 | 
					 * Allows the theme builder to create 'writable' themes.
 | 
				
			||||||
 * Should only be enabled for 'tagrenderings' in the theme, if the source is OSM
 | 
					 * Should only be enabled for 'tagrenderings' in the theme, if the source is OSM
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
let allowQuestions: Store<boolean> = (state.configuration.mapD(config => path.at(0) === "tagRenderings" && config.source?.geoJson === undefined))
 | 
					let allowQuestions: Store<boolean> = (state.configuration.mapD(config => path.at(0) === "tagRenderings" && config.source?.geoJson === undefined));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
let mappingsBuiltin: MappingConfigJson[] = [];
 | 
					let mappingsBuiltin: MappingConfigJson[] = [];
 | 
				
			||||||
let perLabel: Record<string, MappingConfigJson> = {}
 | 
					let perLabel: Record<string, MappingConfigJson> = {};
 | 
				
			||||||
for (const tr of questions.tagRenderings) {
 | 
					for (const tr of questions.tagRenderings) {
 | 
				
			||||||
  let description = tr["description"] ?? tr["question"] ?? "No description available";
 | 
					  let description = tr["description"] ?? tr["question"] ?? "No description available";
 | 
				
			||||||
  description = description["en"] ?? description;
 | 
					  description = description["en"] ?? description;
 | 
				
			||||||
  if (tr["labels"]) {
 | 
					  if (tr["labels"]) {
 | 
				
			||||||
    const labels: string[] = tr["labels"]
 | 
					    const labels: string[] = tr["labels"];
 | 
				
			||||||
    for (const label of labels) {
 | 
					    for (const label of labels) {
 | 
				
			||||||
      let labelMapping: MappingConfigJson = perLabel[label] 
 | 
					      let labelMapping: MappingConfigJson = perLabel[label];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if (!labelMapping) {
 | 
					      if (!labelMapping) {
 | 
				
			||||||
        labelMapping = {
 | 
					        labelMapping = {
 | 
				
			||||||
| 
						 | 
					@ -48,11 +49,11 @@ for (const tr of questions.tagRenderings) {
 | 
				
			||||||
          then: {
 | 
					          then: {
 | 
				
			||||||
            en: "Builtin collection <b>" + label + "</b>:"
 | 
					            en: "Builtin collection <b>" + label + "</b>:"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        perLabel[label] = labelMapping;
 | 
				
			||||||
 | 
					        mappingsBuiltin.push(labelMapping);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
        perLabel[label] = labelMapping
 | 
					      labelMapping.then.en = labelMapping.then.en + "<div>" + description + "</div>";
 | 
				
			||||||
        mappingsBuiltin.push(labelMapping)
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      labelMapping.then.en = labelMapping.then.en + "<div>"+description+"</div>"
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -96,10 +97,11 @@ function initMappings() {
 | 
				
			||||||
const items = new Set(["question", "questionHint", "multiAnswer", "freeform", "render", "condition", "metacondition", "mappings", "icon"]);
 | 
					const items = new Set(["question", "questionHint", "multiAnswer", "freeform", "render", "condition", "metacondition", "mappings", "icon"]);
 | 
				
			||||||
const ignored = new Set(["labels", "description", "classes"]);
 | 
					const ignored = new Set(["labels", "description", "classes"]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const freeformSchema = <ConfigMeta[]>questionableTagRenderingSchemaRaw
 | 
					const freeformSchemaAll = <ConfigMeta[]>questionableTagRenderingSchemaRaw
 | 
				
			||||||
  .filter(schema => schema.path.length == 2 && schema.path[0] === "freeform" && ($allowQuestions || schema.path[1] === "key"));
 | 
					  .filter(schema => schema.path.length == 2 && schema.path[0] === "freeform" && ($allowQuestions || schema.path[1] === "key"));
 | 
				
			||||||
 | 
					let freeformSchema = $expertMode ? freeformSchemaAll : freeformSchemaAll.filter(schema => schema.hints?.group !== "expert")
 | 
				
			||||||
const missing: string[] = questionableTagRenderingSchemaRaw.filter(schema => schema.path.length >= 1 && !items.has(schema.path[0]) && !ignored.has(schema.path[0])).map(schema => schema.path.join("."));
 | 
					const missing: string[] = questionableTagRenderingSchemaRaw.filter(schema => schema.path.length >= 1 && !items.has(schema.path[0]) && !ignored.has(schema.path[0])).map(schema => schema.path.join("."));
 | 
				
			||||||
console.log({state})
 | 
					console.log({ state });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -115,7 +117,8 @@ console.log({state})
 | 
				
			||||||
      <slot name="upper-right" />
 | 
					      <slot name="upper-right" />
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
    {#if $allowQuestions}
 | 
					    {#if $allowQuestions}
 | 
				
			||||||
      <SchemaBasedField startInEditModeIfUnset={true} {state} path={[...path,"question"]} schema={topLevelItems["question"]} />
 | 
					      <SchemaBasedField startInEditModeIfUnset={true} {state} path={[...path,"question"]}
 | 
				
			||||||
 | 
					                        schema={topLevelItems["question"]} />
 | 
				
			||||||
      <SchemaBasedField {state} path={[...path,"questionHint"]} schema={topLevelItems["questionHint"]} />
 | 
					      <SchemaBasedField {state} path={[...path,"questionHint"]} schema={topLevelItems["questionHint"]} />
 | 
				
			||||||
    {/if}
 | 
					    {/if}
 | 
				
			||||||
    {#each ($mappings ?? []) as mapping, i (mapping)}
 | 
					    {#each ($mappings ?? []) as mapping, i (mapping)}
 | 
				
			||||||
| 
						 | 
					@ -148,8 +151,9 @@ console.log({state})
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <SchemaBasedField {state} path={[...path,"condition"]} schema={topLevelItems["condition"]} />
 | 
					    <SchemaBasedField {state} path={[...path,"condition"]} schema={topLevelItems["condition"]} />
 | 
				
			||||||
 | 
					    {#if $expertMode}
 | 
				
			||||||
      <SchemaBasedField {state} path={[...path,"metacondition"]} schema={topLevelItems["metacondition"]} />
 | 
					      <SchemaBasedField {state} path={[...path,"metacondition"]} schema={topLevelItems["metacondition"]} />
 | 
				
			||||||
 | 
					    {/if}
 | 
				
			||||||
    {#each missing as field}
 | 
					    {#each missing as field}
 | 
				
			||||||
      <SchemaBasedField {state} path={[...path,field]} schema={topLevelItems[field]} />
 | 
					      <SchemaBasedField {state} path={[...path,field]} schema={topLevelItems[field]} />
 | 
				
			||||||
    {/each}
 | 
					    {/each}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,7 +24,9 @@
 | 
				
			||||||
  import { QuestionMarkCircleIcon } from "@babeard/svelte-heroicons/mini";
 | 
					  import { QuestionMarkCircleIcon } from "@babeard/svelte-heroicons/mini";
 | 
				
			||||||
  import type { ConfigMeta } from "./Studio/configMeta";
 | 
					  import type { ConfigMeta } from "./Studio/configMeta";
 | 
				
			||||||
  import EditTheme from "./Studio/EditTheme.svelte";
 | 
					  import EditTheme from "./Studio/EditTheme.svelte";
 | 
				
			||||||
  import * as meta from "../../package.json"
 | 
					  import * as meta from "../../package.json";
 | 
				
			||||||
 | 
					  import Checkbox from "./Base/Checkbox.svelte";
 | 
				
			||||||
 | 
					  import exp from "constants";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  export let studioUrl = window.location.hostname === "127.0.0.2" ? "http://127.0.0.1:1235" : "https://studio.mapcomplete.org";
 | 
					  export let studioUrl = window.location.hostname === "127.0.0.2" ? "http://127.0.0.1:1235" : "https://studio.mapcomplete.org";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -35,6 +37,10 @@
 | 
				
			||||||
      "Used to complete the login"
 | 
					      "Used to complete the login"
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
  }));
 | 
					  }));
 | 
				
			||||||
 | 
					  const expertMode = UIEventSource.asBoolean(osmConnection.GetPreference("studio-expert-mode", "false", {
 | 
				
			||||||
 | 
					    documentation: "Indicates if more options are shown in mapcomplete studio"
 | 
				
			||||||
 | 
					  }));
 | 
				
			||||||
 | 
					  expertMode.addCallbackAndRunD(expert => console.log("Expert mode is", expert))
 | 
				
			||||||
  const createdBy = osmConnection.userDetails.data.name;
 | 
					  const createdBy = osmConnection.userDetails.data.name;
 | 
				
			||||||
  const uid = osmConnection.userDetails.map(ud => ud?.uid);
 | 
					  const uid = osmConnection.userDetails.map(ud => ud?.uid);
 | 
				
			||||||
  const studio = new StudioServer(studioUrl, uid);
 | 
					  const studio = new StudioServer(studioUrl, uid);
 | 
				
			||||||
| 
						 | 
					@ -54,30 +60,31 @@
 | 
				
			||||||
  let state: undefined | "edit_layer" | "edit_theme" | "editing_layer" | "editing_theme" | "loading" = undefined;
 | 
					  let state: undefined | "edit_layer" | "edit_theme" | "editing_layer" | "editing_theme" | "loading" = undefined;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const layerSchema: ConfigMeta[] = <any>layerSchemaRaw;
 | 
					  const layerSchema: ConfigMeta[] = <any>layerSchemaRaw;
 | 
				
			||||||
  let editLayerState = new EditLayerState(layerSchema, studio, osmConnection);
 | 
					  let editLayerState = new EditLayerState(layerSchema, studio, osmConnection, { expertMode });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const layoutSchema: ConfigMeta[] = <any>layoutSchemaRaw;
 | 
					  const layoutSchema: ConfigMeta[] = <any>layoutSchemaRaw;
 | 
				
			||||||
  let editThemeState = new EditThemeState(layoutSchema, studio);
 | 
					  let editThemeState = new EditThemeState(layoutSchema, studio, { expertMode });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  let layerId = editLayerState.configuration.map(layerConfig => layerConfig.id);
 | 
					  let layerId = editLayerState.configuration.map(layerConfig => layerConfig.id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  let showIntro = UIEventSource.asBoolean(LocalStorageSource.Get("studio-show-intro", "true"));
 | 
					  let showIntro = UIEventSource.asBoolean(LocalStorageSource.Get("studio-show-intro", "true"));
 | 
				
			||||||
const version = meta.version
 | 
					  const version = meta.version;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  async function editLayer(event: Event) {
 | 
					  async function editLayer(event: Event) {
 | 
				
			||||||
    const layerId: { owner: number, id: string } = event.detail;
 | 
					    const layerId: { owner: number, id: string } = event.detail;
 | 
				
			||||||
    state = "loading";
 | 
					    state = "loading";
 | 
				
			||||||
    editLayerState.startSavingUpdates(false)
 | 
					    editLayerState.startSavingUpdates(false);
 | 
				
			||||||
    editLayerState.configuration.setData(await studio.fetch(layerId.id, "layers", layerId.owner));
 | 
					    editLayerState.configuration.setData(await studio.fetch(layerId.id, "layers", layerId.owner));
 | 
				
			||||||
    editLayerState.startSavingUpdates()
 | 
					    editLayerState.startSavingUpdates();
 | 
				
			||||||
    state = "editing_layer";
 | 
					    state = "editing_layer";
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  async function editTheme(event: Event) {
 | 
					  async function editTheme(event: Event) {
 | 
				
			||||||
    const id: { id: string, owner: number } = event.detail;
 | 
					    const id: { id: string, owner: number } = event.detail;
 | 
				
			||||||
    state = "loading";
 | 
					    state = "loading";
 | 
				
			||||||
    editThemeState.startSavingUpdates(false)
 | 
					    editThemeState.startSavingUpdates(false);
 | 
				
			||||||
    editThemeState.configuration.setData(await studio.fetch(id.id, "themes", id.owner));
 | 
					    editThemeState.configuration.setData(await studio.fetch(id.id, "themes", id.owner));
 | 
				
			||||||
    editThemeState.startSavingUpdates()
 | 
					    editThemeState.startSavingUpdates();
 | 
				
			||||||
    state = "editing_theme";
 | 
					    state = "editing_theme";
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -102,7 +109,7 @@ const version = meta.version
 | 
				
			||||||
      }]
 | 
					      }]
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    editLayerState.configuration.setData(initialLayerConfig);
 | 
					    editLayerState.configuration.setData(initialLayerConfig);
 | 
				
			||||||
    editLayerState.startSavingUpdates()
 | 
					    editLayerState.startSavingUpdates();
 | 
				
			||||||
    state = "editing_layer";
 | 
					    state = "editing_layer";
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -139,9 +146,9 @@ const version = meta.version
 | 
				
			||||||
      </NextButton>
 | 
					      </NextButton>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
    {#if state === undefined}
 | 
					    {#if state === undefined}
 | 
				
			||||||
      <div class="m-4">
 | 
					      <div class="p-4   flex flex-col justify-between h-full">
 | 
				
			||||||
        <h1>MapComplete Studio</h1>
 | 
					 | 
				
			||||||
        <div class="w-full flex flex-col">
 | 
					        <div class="w-full flex flex-col">
 | 
				
			||||||
 | 
					          <h1>MapComplete Studio</h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          <NextButton on:click={() => state = "edit_layer"}>
 | 
					          <NextButton on:click={() => state = "edit_layer"}>
 | 
				
			||||||
            Edit an existing layer
 | 
					            Edit an existing layer
 | 
				
			||||||
| 
						 | 
					@ -160,8 +167,12 @@ const version = meta.version
 | 
				
			||||||
            Show the introduction again
 | 
					            Show the introduction again
 | 
				
			||||||
          </NextButton>
 | 
					          </NextButton>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div>
 | 
				
			||||||
 | 
					          
 | 
				
			||||||
 | 
					          <Checkbox selected={expertMode} >Enable more options (expert mode)</Checkbox>
 | 
				
			||||||
        <span class="subtle">MapComplete version {version}</span>
 | 
					        <span class="subtle">MapComplete version {version}</span>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
    {:else if state === "edit_layer"}
 | 
					    {:else if state === "edit_layer"}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      <div class="flex flex-col m-4">
 | 
					      <div class="flex flex-col m-4">
 | 
				
			||||||
| 
						 | 
					@ -213,7 +224,7 @@ const version = meta.version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{#if $showIntro}
 | 
					{#if $showIntro}
 | 
				
			||||||
  <FloatOver on:close={() => {showIntro.setData(false)}}>
 | 
					  <FloatOver on:close={() => {showIntro.setData(false)}}>
 | 
				
			||||||
    <div class="flex p-4 h-full">
 | 
					    <div class="flex p-4 h-full pr-12">
 | 
				
			||||||
      <Walkthrough pages={intro.sections} on:done={() => {showIntro.setData(false)}} />
 | 
					      <Walkthrough pages={intro.sections} on:done={() => {showIntro.setData(false)}} />
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
  </FloatOver>
 | 
					  </FloatOver>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,7 +3,7 @@ import StudioGUI from "./StudioGUI.svelte"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default class StudioGui {
 | 
					export default class StudioGui {
 | 
				
			||||||
    public setup() {
 | 
					    public setup() {
 | 
				
			||||||
        new SvelteUIElement(StudioGUI, {}).AttachTo("main")
 | 
					        new SvelteUIElement(StudioGUI, {}).SetClass("h-full").AttachTo("main")
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1491,7 +1491,7 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
 | 
				
			||||||
        element.scrollIntoView({ behavior: "smooth", block: "nearest" })
 | 
					        element.scrollIntoView({ behavior: "smooth", block: "nearest" })
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static findParentWithScrolling(element: HTMLBaseElement): HTMLBaseElement {
 | 
					    private static findParentWithScrolling(element: HTMLBaseElement): HTMLBaseElement {
 | 
				
			||||||
        // Check if the element itself has scrolling
 | 
					        // Check if the element itself has scrolling
 | 
				
			||||||
        if (element.scrollHeight > element.clientHeight) {
 | 
					        if (element.scrollHeight > element.clientHeight) {
 | 
				
			||||||
            return element
 | 
					            return element
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -323,7 +323,7 @@
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "required": false,
 | 
					    "required": false,
 | 
				
			||||||
    "hints": {
 | 
					    "hints": {
 | 
				
			||||||
      "typehint": "simple_tag[]",
 | 
					      "typehint": "simple_tag",
 | 
				
			||||||
      "question": "What extra tags should be added to the object if this object is chosen?"
 | 
					      "question": "What extra tags should be added to the object if this object is chosen?"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "type": "array",
 | 
					    "type": "array",
 | 
				
			||||||
| 
						 | 
					@ -472,7 +472,7 @@
 | 
				
			||||||
      "freeform",
 | 
					      "freeform",
 | 
				
			||||||
      "key"
 | 
					      "key"
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "required": true,
 | 
					    "required": false,
 | 
				
			||||||
    "hints": {
 | 
					    "hints": {
 | 
				
			||||||
      "question": "What is the name of the attribute that should be written to?",
 | 
					      "question": "What is the name of the attribute that should be written to?",
 | 
				
			||||||
      "ifunset": "do not offer a freeform textfield as answer option"
 | 
					      "ifunset": "do not offer a freeform textfield as answer option"
 | 
				
			||||||
| 
						 | 
					@ -579,6 +579,7 @@
 | 
				
			||||||
    "required": false,
 | 
					    "required": false,
 | 
				
			||||||
    "hints": {
 | 
					    "hints": {
 | 
				
			||||||
      "typehint": "translation",
 | 
					      "typehint": "translation",
 | 
				
			||||||
 | 
					      "group": "expert",
 | 
				
			||||||
      "question": "What placeholder text should be shown in the input-element if there is no input?"
 | 
					      "question": "What placeholder text should be shown in the input-element if there is no input?"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "type": [
 | 
					    "type": [
 | 
				
			||||||
| 
						 | 
					@ -597,7 +598,9 @@
 | 
				
			||||||
      "helperArgs"
 | 
					      "helperArgs"
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "required": false,
 | 
					    "required": false,
 | 
				
			||||||
    "hints": {},
 | 
					    "hints": {
 | 
				
			||||||
 | 
					      "group": "expert"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "type": "array",
 | 
					    "type": "array",
 | 
				
			||||||
    "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'"
 | 
					    "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
| 
						 | 
					@ -607,7 +610,9 @@
 | 
				
			||||||
      "addExtraTags"
 | 
					      "addExtraTags"
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "required": false,
 | 
					    "required": false,
 | 
				
			||||||
    "hints": {},
 | 
					    "hints": {
 | 
				
			||||||
 | 
					      "group": "expert"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "type": "array",
 | 
					    "type": "array",
 | 
				
			||||||
    "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'"
 | 
					    "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
| 
						 | 
					@ -618,6 +623,7 @@
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "required": false,
 | 
					    "required": false,
 | 
				
			||||||
    "hints": {
 | 
					    "hints": {
 | 
				
			||||||
 | 
					      "group": "expert",
 | 
				
			||||||
      "question": "Show the freeform as box within the question?",
 | 
					      "question": "Show the freeform as box within the question?",
 | 
				
			||||||
      "iftrue": "show the freeform input field as a small field within the question",
 | 
					      "iftrue": "show the freeform input field as a small field within the question",
 | 
				
			||||||
      "ifunset": "show the freeform input field full-width"
 | 
					      "ifunset": "show the freeform input field full-width"
 | 
				
			||||||
| 
						 | 
					@ -632,6 +638,7 @@
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "required": false,
 | 
					    "required": false,
 | 
				
			||||||
    "hints": {
 | 
					    "hints": {
 | 
				
			||||||
 | 
					      "group": "expert",
 | 
				
			||||||
      "question": "What value should be entered in the text field if no value is set?",
 | 
					      "question": "What value should be entered in the text field if no value is set?",
 | 
				
			||||||
      "ifunset": "do not prefill the textfield"
 | 
					      "ifunset": "do not prefill the textfield"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
| 
						 | 
					@ -645,6 +652,7 @@
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "required": false,
 | 
					    "required": false,
 | 
				
			||||||
    "hints": {
 | 
					    "hints": {
 | 
				
			||||||
 | 
					      "group": "expert",
 | 
				
			||||||
      "question": "What values of the freeform key should be interpreted as 'unknown'?",
 | 
					      "question": "What values of the freeform key should be interpreted as 'unknown'?",
 | 
				
			||||||
      "ifunset": "The question will be considered answered if any value is set for the key"
 | 
					      "ifunset": "The question will be considered answered if any value is set for the key"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
| 
						 | 
					@ -882,7 +890,8 @@
 | 
				
			||||||
    "required": false,
 | 
					    "required": false,
 | 
				
			||||||
    "hints": {
 | 
					    "hints": {
 | 
				
			||||||
      "typehint": "tag",
 | 
					      "typehint": "tag",
 | 
				
			||||||
      "question": "When should this item be shown?"
 | 
					      "question": "When should this item be shown?",
 | 
				
			||||||
 | 
					      "ifunset": "No specific condition set; always show this tagRendering or ask the question if unkown"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "type": [
 | 
					    "type": [
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -112,7 +112,8 @@
 | 
				
			||||||
    "required": false,
 | 
					    "required": false,
 | 
				
			||||||
    "hints": {
 | 
					    "hints": {
 | 
				
			||||||
      "typehint": "tag",
 | 
					      "typehint": "tag",
 | 
				
			||||||
      "question": "When should this item be shown?"
 | 
					      "question": "When should this item be shown?",
 | 
				
			||||||
 | 
					      "ifunset": "No specific condition set; always show this tagRendering or ask the question if unkown"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "type": [
 | 
					    "type": [
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
| 
						 | 
					@ -298,7 +299,7 @@
 | 
				
			||||||
      "freeform",
 | 
					      "freeform",
 | 
				
			||||||
      "key"
 | 
					      "key"
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "required": true,
 | 
					    "required": false,
 | 
				
			||||||
    "hints": {},
 | 
					    "hints": {},
 | 
				
			||||||
    "type": "string",
 | 
					    "type": "string",
 | 
				
			||||||
    "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown"
 | 
					    "description": "What attribute should be filled out\nIf this key is present in the feature, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown"
 | 
				
			||||||
| 
						 | 
					@ -375,6 +376,7 @@
 | 
				
			||||||
    "hints": {
 | 
					    "hints": {
 | 
				
			||||||
      "typehint": "icon",
 | 
					      "typehint": "icon",
 | 
				
			||||||
      "question": "What icon should be added to this mapping?",
 | 
					      "question": "What icon should be added to this mapping?",
 | 
				
			||||||
 | 
					      "ifunset": "Do not show an extra icon next to the render value",
 | 
				
			||||||
      "inline": "<img src='{icon}' class=\"w-8 h-8\" /> {icon}"
 | 
					      "inline": "<img src='{icon}' class=\"w-8 h-8\" /> {icon}"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "type": [
 | 
					    "type": [
 | 
				
			||||||
| 
						 | 
					@ -398,7 +400,7 @@
 | 
				
			||||||
        "type": "string"
 | 
					        "type": "string"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "description": "An icon supporting this mapping; typically shown pretty small"
 | 
					    "description": "An icon supporting this mapping; typically shown pretty small.\nThis can be used to show a 'phone'-icon next to the phone number"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "path": [
 | 
					    "path": [
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| 
						 | 
					@ -12,7 +12,7 @@
 | 
				
			||||||
    <link href="./css/wikipedia.css" rel="stylesheet"/>
 | 
					    <link href="./css/wikipedia.css" rel="stylesheet"/>
 | 
				
			||||||
</head>
 | 
					</head>
 | 
				
			||||||
<body>
 | 
					<body>
 | 
				
			||||||
<div id="main">Initing studio...</div>
 | 
					<div id="main" class="h-full">Initing studio...</div>
 | 
				
			||||||
<script src="./src/UI/StudioGui.ts" type="module"></script>
 | 
					<script src="./src/UI/StudioGui.ts" type="module"></script>
 | 
				
			||||||
<script async data-goatcounter="https://pietervdvn.goatcounter.com/count" src="https://gc.zgo.at/count.js" crossorigin="anonymous" integrity="sha384-gtO6vSydQeOAGGK19NHrlVLNtaDSJjN4aGMWschK+dwAZOdPQWbjXgL+FM5XsgFJ"></script>
 | 
					<script async data-goatcounter="https://pietervdvn.goatcounter.com/count" src="https://gc.zgo.at/count.js" crossorigin="anonymous" integrity="sha384-gtO6vSydQeOAGGK19NHrlVLNtaDSJjN4aGMWschK+dwAZOdPQWbjXgL+FM5XsgFJ"></script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue