{
    "initial" : "start",
    "accept"  : ["accept"],
    "reject" : ["reject"],
    
    "transition" : {
	"start": {
	    "b": ["goto_endtape", "b", 1],
	    "a": ["goto_endtape", "a", 1],
	    "_": ["accept", "^", 0]
	},

	"goto_endtape": {
	    "a": ["goto_endtape", "a", 1],
	    "b": ["goto_endtape", "b", 1],
	    "_": ["goto_start", "^", -1]
	},

	"goto_start": {
	    "a": ["goto_start", "a", -1],
	    "b": ["goto_start", "b", -1],
	    "^": ["copy", "^", 1]	    
	},

	"copy": {
	    "a": ["copya", "_", 1],
	    "b": ["copyb", "_", 1],
	    "^" : ["accept", "^", 0]
	},

	"copya": {
	    "a" : ["copya", "a", 1],
	    "b" : ["copya", "b", 1],
	    "^" : ["copya", "^", 1],
	    "_" : ["gotoblanka", "a", -1]
	},

	"copyb": {
	    "a" : ["copyb", "a", 1],
	    "b" : ["copyb", "b", 1],
	    "^" : ["copyb", "^", 1],
	    "_" : ["gotoblankb", "b", -1]
	},

	"gotoblanka": {
	    "a" : ["gotoblanka", "a", -1],
	    "b" : ["gotoblanka", "b", -1],
	    "^" : ["gotoblanka", "^", -1],
	    "_" : ["copy", "a", 1]
	},

	"gotoblankb": {
	    "a" : ["gotoblankb", "a", -1],
	    "b" : ["gotoblankb", "b", -1],
	    "^" : ["gotoblankb", "^", -1],
	    "_" : ["copy", "b", 1]
	}


    }
}
