{
	"csm": {
		"nodes": {
			"0": {
				"typename": {
					"type": "string",
					"value": "LHSIcon"
				},
				"position": {
					"type": "list<double>",
					"value": [
						383,
						148
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1.076
					]
				},
				"mapper": {
					"type": "code",
					"value": ""
				},
				"parser": {
					"type": "code",
					"value": ""
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"4": {
								"segments": {
									"type": "string",
									"value": "m0,0 l350,0 l100,250 l-100,250 l-350,0z"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#ffffff",
										"fill-opacity": 0.75,
										"stroke-width": 2,
										"arrow-start": "none",
										"arrow-end": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": ""
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
								"position": {
									"type": "list<double>",
									"value": [
										1,
										0
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							}
						},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/LHS/0.instance"
				},
				"$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/LHSIcon"
			},
			"2": {
				"typename": {
					"type": "string",
					"value": "CarIcon"
				},
				"position": {
					"type": "list<double>",
					"value": [
						464,
						329
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
				},
				"parser": {
					"type": "code",
					"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"5": {
								"src": {
									"type": "string",
									"value": "/Formalisms/RaceCar/Icons/racecar.png"
								},
								"width": {
									"type": "double",
									"value": 183
								},
								"height": {
									"type": "double",
									"value": 72
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#ffffff",
										"fill-opacity": 1,
										"font-size": "20px",
										"stroke-width": 1,
										"arrow-start": "none",
										"arrow-end": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
								},
								"parser": {
									"type": "code",
									"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Image",
								"position": {
									"type": "list<double>",
									"value": [
										1,
										2
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"6": {
								"textContent": {
									"type": "string",
									"value": "name"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#000000",
										"fill-opacity": 0.75,
										"font-size": "12px",
										"stroke-width": 1,
										"arrow-start": "none",
										"arrow-end": "none",
										"text-anchor": "middle"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
								},
								"parser": {
									"type": "code",
									"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										90,
										48
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"7": {
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
								"position": {
									"type": "list<double>",
									"value": [
										48.88071412763202,
										29.32499990929705
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"link-style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#00ffff",
										"stroke-dasharray": "",
										"stroke-opacity": 0.1,
										"stroke-width": 1
									}
								}
							},
							"__pLabelText": {
								"position": {
									"type": "list<double>",
									"value": [
										0,
										0
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"textContent": {
									"type": "string",
									"value": "0"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#6000ff",
										"fill": "#6000ff",
										"font-size": "15px",
										"opacity": "1"
									}
								},
								"mapper": {
									"type": "code",
									"value": "({'textContent':getAttr('__pLabel')})"
								},
								"parser": {
									"type": "code",
									"value": "({'__pLabel':getAttr('textContent')})"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text"
							}
						},
						"edges": [
							{
								"src": "5",
								"dest": "7"
							},
							{
								"src": "7",
								"dest": "6"
							}
						]
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/RaceCar/Race.pattern/__pCar/2.instance"
				},
				"$type": "/Formalisms/RaceCar/Race.defaultIcons.pattern/__pCarIcon"
			},
			"3": {
				"link-style": {
					"type": "map<string,string>",
					"value": {
						"stroke": "#00ff00",
						"stroke-dasharray": "",
						"stroke-opacity": 0.2,
						"stroke-width": 1,
						"arrow-start": "none",
						"arrow-end": "classic-wide-long"
					}
				},
				"typename": {
					"type": "string",
					"value": "PatternContentsLink"
				},
				"position": {
					"type": "list<double>",
					"value": [
						470.09735847208105,
						265.11433960093234
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": ""
				},
				"parser": {
					"type": "code",
					"value": ""
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/PatternContents/3.instance"
				},
				"$segments": {
					"type": "map<string,list<string>>",
					"value": {
						"/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/LHSIcon/0.instance--/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink/3.instance": "M384,164L470.09735847208105,265.11433960093234",
						"/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink/3.instance--/Formalisms/RaceCar/Race.defaultIcons.pattern/__pCarIcon/2.instance": "M470.0972115159524,265.1141670129208L555.9997062354562,365.9996549974543"
					}
				},
				"$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink"
			},
			"10": {
				"typename": {
					"type": "string",
					"value": "FinishIcon"
				},
				"position": {
					"type": "list<double>",
					"value": [
						559,
						162
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
				},
				"parser": {
					"type": "code",
					"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"25": {
								"src": {
									"type": "string",
									"value": "/Formalisms/RaceCar/icons/finish.png"
								},
								"width": {
									"type": "double",
									"value": 200
								},
								"height": {
									"type": "double",
									"value": 495
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#ffffff",
										"fill-opacity": 1,
										"font-size": "20px",
										"stroke-width": 1,
										"arrow-start": "none",
										"arrow-end": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
								},
								"parser": {
									"type": "code",
									"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Image",
								"position": {
									"type": "list<double>",
									"value": [
										5,
										3
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"__pLabelText": {
								"position": {
									"type": "list<double>",
									"value": [
										0,
										0
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"textContent": {
									"type": "string",
									"value": "1"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#6000ff",
										"fill": "#6000ff",
										"font-size": "15px",
										"opacity": "1"
									}
								},
								"mapper": {
									"type": "code",
									"value": "({'textContent':getAttr('__pLabel')})"
								},
								"parser": {
									"type": "code",
									"value": "({'__pLabel':getAttr('textContent')})"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text"
							}
						},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/RaceCar/Race.pattern/__pFinish/10.instance"
				},
				"$type": "/Formalisms/RaceCar/Race.defaultIcons.pattern/__pFinishIcon"
			},
			"11": {
				"link-style": {
					"type": "map<string,string>",
					"value": {
						"stroke": "#00ff00",
						"stroke-dasharray": "",
						"stroke-opacity": 0.2,
						"stroke-width": 1,
						"arrow-start": "none",
						"arrow-end": "classic-wide-long"
					}
				},
				"typename": {
					"type": "string",
					"value": "PatternContentsLink"
				},
				"position": {
					"type": "list<double>",
					"value": [
						534.75,
						289
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": ""
				},
				"parser": {
					"type": "code",
					"value": ""
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/PatternContents/11.instance"
				},
				"$segments": {
					"type": "map<string,list<string>>",
					"value": {
						"/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/LHSIcon/0.instance--/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink/11.instance": "M384,164L534.75,289",
						"/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink/11.instance--/Formalisms/RaceCar/Race.defaultIcons.pattern/__pFinishIcon/10.instance": "M534.8076549885793,289.0478067898668L661.4994677993955,410.9995587059665"
					}
				},
				"$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink"
			}
		},
		"edges": [],
		"metamodels": [
			"/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons",
			"/Formalisms/RaceCar/Race.defaultIcons.pattern"
		]
	},
	"asm": {
		"nodes": {
			"0": {
				"Condition": {
					"type": "code",
					"value": "result = (getAttr('position','1')[0]-getAttr('position','0')[0])<77"
				},
				"$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/LHS"
			},
			"2": {
				"__pLabel": {
					"type": "string",
					"value": "0"
				},
				"__pPivotIn": {
					"type": "string",
					"value": ""
				},
				"__pPivotOut": {
					"type": "string",
					"value": "winner"
				},
				"__pMatchSubtypes": {
					"type": "boolean",
					"value": false
				},
				"name": {
					"type": "code",
					"value": "result = True"
				},
				"position": {
					"type": "code",
					"value": "result = True"
				},
				"$type": "/Formalisms/RaceCar/Race.pattern/__pCar"
			},
			"3": {
				"$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/PatternContents"
			},
			"10": {
				"__pLabel": {
					"type": "string",
					"value": "1"
				},
				"__pPivotIn": {
					"type": "string",
					"value": ""
				},
				"__pPivotOut": {
					"type": "string",
					"value": ""
				},
				"__pMatchSubtypes": {
					"type": "boolean",
					"value": false
				},
				"name": {
					"type": "code",
					"value": "result = True"
				},
				"position": {
					"type": "code",
					"value": "result = True"
				},
				"$type": "/Formalisms/RaceCar/Race.pattern/__pFinish"
			},
			"11": {
				"$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/PatternContents"
			}
		},
		"edges": [
			{
				"src": "0",
				"dest": "3"
			},
			{
				"src": "3",
				"dest": "2"
			},
			{
				"src": "0",
				"dest": "11"
			},
			{
				"src": "11",
				"dest": "10"
			}
		],
		"metamodels": [
			"/Formalisms/__Transformations__/TransformationRule/TransformationRule",
			"/Formalisms/RaceCar/Race.pattern"
		]
	}
}